I have a table with 10 columns, eight of them are columns with dates. My desired outcome is to get max date for each row (what I have already accomplished) but I would also like to get the name of the columns, which this max dates come from.
SELECT s.sp_id
,s.sp_numer
,(
SELECT MAX(Data_przedawnienia_update)
FROM (
VALUES (Data_przedawnienia_Postanowienie_o_umorzeniu_egzekucji)
,(Data_przedawnienia_Egzekucja_w_toku)
,(Data_przedawnienia_Nakaz_zaplaty_z_klauzula)
,(Data_przedawnienia_Nakaz_zaplaty)
,(Data_przedawnienia_Sprawa_sadowa_w_toku)
,(Data_przedawnienia_Wplaty_na_etapie_polubownym)
,(Data_przedawnienia_Umowa_ugody)
,(Data_przedawnienia_Wypowiedzenie_umowy)
) AS Data_przedawnienia(Data_przedawnienia_update)
) AS Data_przedawnienia_update
FROM dm_data_bps.dbo.sprawa AS s
INNER JOIN dm_data_bps.dbo.cache_sprawa_info AS csi ON s.sp_id = csi.sp_id
AND sprawa_zamknieta = 0
LEFT JOIN ##Postanowienie_o_umorzeniu_egzekucji AS umorzenie ON s.sp_id =
umorzenie.sp_id
LEFT JOIN ##Egzekucja_w_toku AS egzekucja ON s.sp_id = egzekucja.sp_id
LEFT JOIN ##Nakaz_zaplaty_z_klauzula AS nakaz_kl ON s.sp_id = nakaz_kl.sp_id
LEFT JOIN ##Nakaz_zaplaty AS nakaz ON s.sp_id = nakaz.sp_id
LEFT JOIN ##Sprawa_sadowa_w_toku AS sprawa_sad ON s.sp_id = sprawa_sad.sp_id
LEFT JOIN ##Wplaty_na_etapie_polubownym AS wplaty_polubowny ON s.sp_id =
wplaty_polubowny.sp_id
LEFT JOIN ##Umowa_ugody AS ugoda ON s.sp_id = ugoda.sp_id
LEFT JOIN ##Wypowiedzenie_umowy AS wypowiedzenie ON s.sp_id =
wypowiedzenie.sp_id