根据列值透视查询结果

时间:2014-06-23 18:12:05

标签: sql tsql ssis pivot

我试图弄清楚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

感谢您的建议!

0 个答案:

没有答案