Can anyone help me on below scenario I need small help on group by state ID
Below is my query and I am tried to get all the out put in single line .
But I am getting different lines for each year . please help me to get all the output in single row as the State ID is same.
SELECT StateID,
SUM(CASE WHEN [Year] = 2016 THEN FileSize END) AS FileSize_2016,
(Select count(Fileid) where year = '2016' ) AS TotalFs2016,
SUM(CASE WHEN [Year] = 2017 THEN FileSize END) AS FileSize_2017,
(Select count(Fileid) where year = '2017' ) AS TotalFs2017,
SUM(CASE WHEN [Year] = 2018 THEN FileSize END) AS FileSize_2018,
(Select count(Fileid) where year = '2018' ) AS TotalFs2018,
SUM(CASE WHEN [Year] = 2019 THEN FileSize END) AS FileSize_2019,
(Select count(Fileid) where year = '2019' ) AS TotalFs2019
--FileState
FROM
(
SELECT StateID,[Year],FileID,FileTotalSizeMBs AS FileSize --, FileState
FROM #Temp1
UNION ALL
SELECT StateID,[Year],FileID,FileTotalSizeMBs --, FileState
FROM #Temp2
UNION ALL
SELECT StateID,[Year],FileID,FileTotalSizeMBs --, FileState
FROM #Temp3
UNION ALL
SELECT StateID,[Year],FileID,FileTotalSizeMBs --, FileState
FROM #Temp4
)t
where StateID like '570'
GROUP BY
t.StateID , year
Current out put gives 4 rows for different years like 2016 , 2017 , 2018 , 2019 along with the Size of the files.
Where are I want to get only one row as put with all years data as the ID is same.
I tried to GROUP BY but still does not help .
Thank you for the help.
Best Answer
Group by isn't needed since you only select one stateid