2011-07-19 85 views
0

我有這個表TSQL旋轉的表沒有聚集

name   hourOfDay      score 
bill    1        22 
bill    2        28 
bill    3        29 
bill    4        24 
bill    5        34 

,並希望此表

name     1   2   3   4   5 

bill     22   28   29   24   34 

現在我用噸加入的這樣做,是有一個快速的方法去做這個?我的表太大而無法使用連接。

回答

1

無論如何,您可以使用PIVOT和聚合。試試這個:

SELECT * 
FROM (SELECT name, HourOfDay, Score FROM YourTable) YT 
PIVOT(MIN(Score) FOR HourOfDay IN ([1],[2],[3],.....,[24])) AS PT 

您可以使用MINMAX,因爲它應該得到同樣的結果。