By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
3 rows affected
COLUMNS | 01/01/2019 | 01/03/2019 | 01/04/2019 |
---|---|---|---|
TID | 878A | 878A | 878A |
FName | user1 | user1 | user1 |
LName | user2 | user2 | user3 |
SELECT V.COLUMNS,
MAX(CASE T.LDATE WHEN '20190101' THEN CASE V.COLUMNS WHEN N'TID' THEN CONVERT(varchar(100),[TID])
WHEN N'FName' THEN CONVERT(varchar(100),[FName])
WHEN N'LName' THEN CONVERT(varchar(100),[LName])
END
END) AS [01/01/2019],
MAX(CASE T.LDATE WHEN '20190301' THEN CASE V.COLUMNS WHEN N'TID' THEN CONVERT(varchar(100),[TID])
WHEN N'FName' THEN CONVERT(varchar(100),[FName])
WHEN N'LName' THEN CONVERT(varchar(100),[LName])
END
END) AS [01/03/2019],
MAX(CASE T.LDATE WHEN '20190401' THEN CASE V.COLUMNS WHEN N'TID' THEN CONVERT(varchar(100),[TID])
WHEN N'FName' THEN CONVERT(varchar(100),[FName])
WHEN N'LName' THEN CONVERT(varchar(100),[LName])
END
END) AS [01/04/2019]
FROM TEMP T
CROSS APPLY (VALUES(N'TID'),(N'FName'),(N'LName')) V(COLUMNS)
GROUP BY V.COLUMNS;
Warning: Null value is eliminated by an aggregate or other SET operation.
1 rows affected
COLUMNS | 01/01/2019 | 01/03/2019 | 01/04/2019 | 01/05/2019 |
---|---|---|---|---|
TID | 878A | 878A | 878A | 878A |
FName | user1 | user1 | user1 | user3 |
LName | user2 | user2 | user3 | user2 |
NName | null | null | null | user4 |
SELECT V.COLUMNS,
MAX(CASE T.LDATE WHEN '20190101' THEN CASE V.COLUMNS WHEN N'TID' THEN CONVERT(varchar(100),[TID])
WHEN N'FName' THEN CONVERT(varchar(100),[FName])
WHEN N'LName' THEN CONVERT(varchar(100),[LName])
WHEN N'NName' THEN CONVERT(varchar(100),[NName])
END
END) AS [01/01/2019],
MAX(CASE T.LDATE WHEN '20190301' THEN CASE V.COLUMNS WHEN N'TID' THEN CONVERT(varchar(100),[TID])
WHEN N'FName' THEN CONVERT(varchar(100),[FName])
WHEN N'LName' THEN CONVERT(varchar(100),[LName])
WHEN N'NName' THEN CONVERT(varchar(100),[NName])
END
END) AS [01/03/2019],
MAX(CASE T.LDATE WHEN '20190401' THEN CASE V.COLUMNS WHEN N'TID' THEN CONVERT(varchar(100),[TID])
WHEN N'FName' THEN CONVERT(varchar(100),[FName])
WHEN N'LName' THEN CONVERT(varchar(100),[LName])
WHEN N'NName' THEN CONVERT(varchar(100),[NName])
END
END) AS [01/04/2019],
MAX(CASE T.LDATE WHEN '20190501' THEN CASE V.COLUMNS WHEN N'TID' THEN CONVERT(varchar(100),[TID])
WHEN N'FName' THEN CONVERT(varchar(100),[FName])
WHEN N'LName' THEN CONVERT(varchar(100),[LName])
WHEN N'NName' THEN CONVERT(varchar(100),[NName])
END
END) AS [01/05/2019]
FROM TEMP T
CROSS APPLY (VALUES(N'TID'),(N'FName'),(N'LName'),(N'NName')) V(COLUMNS)
GROUP BY V.COLUMNS;
Warning: Null value is eliminated by an aggregate or other SET operation.