Pivot的語法和說明請看?
http://technet.microsoft.com/zh-cn/library/ms177410.aspx
只寫個例子。原表內容部分如下:
bill_table bill_comedate ?bill_zhje 醉江月 2012-08-20?00:00:00.000?168 大廳6號 2012-08-20?00:00:00.000 154.88 大廳1號 2012-08-20?00:00:00.000 299.2 大廳2號 2012-08-20?00:00:00.000 968 瑤池宴 2012-08-20?00:00:00.000 1530 大廳4號 2012-08-21?00:00:00.000 45 碧云深 2012-08-21?00:00:00.000 207 愿成雙 2012-08-21?00:00:00.000 582 瀟湘曲 2012-08-21?00:00:00.000 582 舞楊花 2012-08-22?00:00:00.000 148 舞迎春 2012-08-22?00:00:00.000 908 瑤階草 2012-08-22?00:00:00.000 908 暮花天 2012-08-22?00:00:00.000 908 暮山溪 2012-08-22?00:00:00.000 120 暮云碧 2012-08-22?00:00:00.000 1013 暮花天 2012-08-22?00:00:00.000 120 碧桃春 2012-08-22?00:00:00.000 120 舞楊花 2012-08-22?00:00:00.000 1266 大廳1號 2012-08-23?00:00:00.000 2076 大廳2號 2012-08-23?00:00:00.000 61 大廳5號 2012-08-23?00:00:00.000 510 大廳5號 2012-08-23?00:00:00.000 976 大廳6號 2012-08-23?00:00:00.000 307 大廳1號 2012-08-24?00:00:00.000 3468 大廳2號 2012-08-24?00:00:00.000 504 大廳4號 2012-08-24?00:00:00.000 723 愿成雙 2012-08-30?00:00:00.000 1068 暮山溪 2012-09-03?00:00:00.000 2404 大廳2號 2012-09-05?00:00:00.000 1389 大廳2號 2012-09-06?00:00:00.000 530 大廳4號 2012-09-06?00:00:00.000 145 大廳5號 2012-09-06?00:00:00.000 319 大廳6號 2012-09-06?00:00:00.000 56 大廳2號 2012-09-06?00:00:00.000 490 大廳2號 2012-09-06?00:00:00.000 140 大廳1號 2012-09-06?00:00:00.000 140 大廳6號 2012-08-06?00:00:00.000 1098 賽天香 2012-09-07?00:00:00.000 1600 大廳4號 2012-09-07?00:00:00.000 264 大廳3號 2012-09-07?00:00:00.000 976
用Pivot把第一列里面的值翻轉成列名,下面跟上sum出來的結果。語句如下
select?bill_comedate,[碧桃春],[醉江月],[大廳1號],[大廳2號],[大廳3號],[大廳4號],[大廳5號],[大廳6號] from?Bill?as?a Pivot?(sum(a.bill_zhje)?FOR?a.bill_table?in?([碧桃春],[醉江月],[大廳1號],[大廳2號],[大廳3號],[大廳4號],[大廳5號],[大廳6號]))?as?PVT?? group?by?bill_comedate,[碧桃春],[醉江月],[大廳1號],[大廳2號],[大廳3號],[大廳4號],[大廳5號],[大廳6號]
得到的部分結果如下(沒有把bill_table里面的寫完)
bill_comedate 碧桃春 醉江月 大廳1號 大廳2號 大廳3號 大廳4號 大廳5號 大廳6號 2012-08-06?00:00:00.000 NULL NULL NULL NULL NULL NULL NULL 1098 2012-08-20?00:00:00.000 NULL NULL NULL NULL NULL NULL NULL NULL 2012-08-20?00:00:00.000 NULL NULL NULL NULL NULL NULL NULL 154.88 2012-08-20?00:00:00.000 NULL NULL NULL 968 NULL NULL NULL NULL 2012-08-20?00:00:00.000 NULL NULL 299.2 NULL NULL NULL NULL NULL 2012-08-20?00:00:00.000 NULL 168 NULL NULL NULL NULL NULL NULL 2012-08-21?00:00:00.000 NULL NULL NULL NULL NULL NULL NULL NULL 2012-08-21?00:00:00.000 NULL NULL NULL NULL NULL 45 NULL NULL 2012-08-22?00:00:00.000 NULL NULL NULL NULL NULL NULL NULL NULL 2012-08-22?00:00:00.000 120 NULL NULL NULL NULL NULL NULL NULL 2012-08-23?00:00:00.000 NULL NULL NULL NULL NULL NULL NULL 307 2012-08-23?00:00:00.000 NULL NULL NULL NULL NULL NULL 510 NULL 2012-08-23?00:00:00.000 NULL NULL NULL NULL NULL NULL 976 NULL 2012-08-23?00:00:00.000 NULL NULL NULL 61 NULL NULL NULL NULL 2012-08-23?00:00:00.000 NULL NULL 2076 NULL NULL NULL NULL NULL 2012-08-24?00:00:00.000 NULL NULL NULL NULL NULL 723 NULL NULL 2012-08-24?00:00:00.000 NULL NULL NULL 504 NULL NULL NULL NULL 2012-08-24?00:00:00.000 NULL NULL 3468 NULL NULL NULL NULL NULL 2012-08-27?00:00:00.000 NULL NULL NULL NULL NULL NULL NULL NULL 2012-08-30?00:00:00.000 NULL NULL NULL NULL NULL NULL NULL NULL 2012-09-03?00:00:00.000 NULL NULL NULL NULL NULL NULL NULL NULL 2012-09-05?00:00:00.000 NULL NULL NULL 1389 NULL NULL NULL NULL 2012-09-06?00:00:00.000 NULL NULL NULL NULL NULL NULL NULL 56 2012-09-06?00:00:00.000 NULL NULL NULL NULL NULL NULL 319 NULL 2012-09-06?00:00:00.000 NULL NULL NULL NULL NULL 145 NULL NULL 2012-09-06?00:00:00.000 NULL NULL NULL 140 NULL NULL NULL NULL 2012-09-06?00:00:00.000 NULL NULL NULL 490 NULL NULL NULL NULL 2012-09-06?00:00:00.000 NULL NULL NULL 530 NULL NULL NULL NULL 2012-09-06?00:00:00.000 NULL NULL 140 NULL NULL NULL NULL NULL 2012-09-07?00:00:00.000 NULL NULL NULL NULL NULL NULL NULL NULL 2012-09-07?00:00:00.000 NULL NULL NULL NULL NULL 264 NULL NULL 2012-09-07?00:00:00.000 NULL NULL NULL NULL 976 NULL NULL NULL