hi
i am trying to do this
when you do rank
you need to rank on something ( example: month > 2 or day < 10 )
what is that something
Looking at data .. nothing is straightforward to understand
what to rank by ???
drop create data ...
use tempdb
go
/******************************************************************/
-- drop all tables tempdb
DECLARE @sql NVARCHAR(max)=''
SELECT @sql += ' Drop table ' + QUOTENAME(s.NAME) + '.' + QUOTENAME(t.NAME) + '; '
FROM sys.tables t
JOIN sys.schemas s
ON t.[schema_id] = s.[schema_id]
WHERE t.type = 'U'
Exec sp_executesql @sql
/******************************************************************/
/*****************************************************************/
-- create tables tempdb
-- int varchar(100) date datetime decimal(10,2)
create table #abc
(
month1 date,
team varchar(10),
AB int ,
H int,
BA decimal(10,4)
)
go
create table #desired
(
Month1 date, Team varchar(10), AB int, H int ,BA decimal(10,3),BARank int null
)
go
insert into #desired select '8/1/2019','ARI', 50, 9 , 0.180, 2
insert into #desired select '8/1/2019','ATL', 45, 11, 0.244, 1
insert into #desired select '7/1/2019','SF' , 73, 26, 0.356, 1
insert into #desired select '6/1/2019','SF' , 80, 20, 0.250, 1
insert into #desired select '8/1/2019',' ' , 80, 33, 0.413, null
/*****************************************************************/
/*****************************************************************/
-- insert data tables tempdb
-- insert into #abc select 1
insert into #abc select '8/1/2019','ARI', 50, 9 , 0.180
insert into #abc select '8/1/2019','ATL', 45, 11 , 0.244
insert into #abc select '7/1/2019','SF' , 73, 26 , 0.356
insert into #abc select '6/1/2019','SF' , 80, 20, 0.250
insert into #abc select '8/1/2019',' ' , 80, 33, 0.413
go
/*****************************************************************/
/******************************************************************/
-- select all tables tempdb
DECLARE @sql NVARCHAR(max)=''
SELECT @sql += ' select * from ' + QUOTENAME(s.NAME) + '.' + QUOTENAME(t.NAME) + '; '
FROM sys.tables t
JOIN sys.schemas s
ON t.[schema_id] = s.[schema_id]
WHERE t.type = 'U'
Exec sp_executesql @sql
/******************************************************************/