Tableau: SampleTbl
Values Name --------------------- 23 id 33 b_id 2014-12-10 Date 55 t_id NULL p_id NULL comments 24 id 34 b_id 2014-12-11 Date 56 t_id NULL p_id NULL comments
Résultat attendu:
id b_id Date t_id p_id comments ------------------------------------------------------ 23 33 2014-12-10 55 NULL NULL 24 34 2014-12-10 56 NULL NULL
J'ai essayé d'utiliser PIVOT
,
SELECT * FROM SampleTbl Pivot (MIN ([Values]) FOR Name IN ([id],[b_id],[Date],[t_id],[p_id],[comments])) piv
Résultat je reçois:
id b_id Date t_id p_id comments --------------------------------------------------- 23 33 2014-12-10 55 NULL NULL
mais je ne reçois pas le résultat attendu. Aidez-moi à get le résultat.
Essaye ça. Utilisez la window function
pour get le résultat.
SELECT [id],[b_id],[Date], [t_id],[p_id],[comments] FROM (SELECT Row_number()OVER(partition BY name ORDER BY [values]) rn,* FROM SampleTbl) A PIVOT (Min ([Values]) FOR Name IN ([id],[b_id],[Date], [t_id],[p_id],[comments])) piv
SQL FIDDLE DEMO