我试图弄清楚SQL或SSIS中最好的方式来转动我的结果。我很想转动数据并需要一些指导。
以下是我的查询结果:
SELECT [ID]
,[Medication]
,[Route]
,[Day]
,Sum(Cast(Dose as float) as TotalDose
,Medication + '_' + Route + '_' + Cast(Day as varchar(10)) as PivotKey
FROM Table1
group by ID, Medication, Route, Day
ID Medication Route Day TotalDose PivotKey
1 Tylenol IV 1 1500 Tylenol_IV_1
1 Tylenol PO 1 1300 Tylenol_PO_1
1 Tylenol PO 2 1950 Tylenol_PO_2
2 Aspirin PO 1 1000 Aspirin_PO_1
2 Aspirin PO 2 500 Aspirin_PO_2
我有一个现有的表将这些PivotKeys存储为列,或者总是有一个选项我想根据PivotKey中的数据创建一个新表。我想让结果看起来如下:
ID Tylenol_IV_1 Tylenol_IV_2 Tylenol_PO_1 Tylenol_PO_2 Aspirin_PO_1 Aspirin_PO_2
----------
1 1500 0 1300 1950 0 0
2 0 0 0 0 1000 500
感谢您的建议!