我有一個包含用戶帳戶權限的表,我試圖編寫一個查詢來爲每個用戶帳戶組合返回一行。將多行組合成一行
這是我的。
CltKey AcctKey TranTypeID Access
10 2499 10 0
10 2499 11 1
10 2499 12 1
10 2764 10 1
10 2764 11 1
10 2764 12 0
這是我想要的。
CltKey AcctKey TranTypeID1 Access1 TranTypeID2 Access2 TranTypeID3 Access3
10 2499 10 0 11 1 12 1
10 2764 10 1 11 1 12 0
甚至更好的是這樣的。
CltKey AcctKey HasTranTypeID1 HasTranTypeID2 HasTranTypeID3
10 2499 0 1 1
10 2764 1 1 0
我已經嘗試做一個自加入,但我不斷得到每個TranTypeID多行。一個等於0,另一個等於1.我也嘗試使用嵌套的「選擇」語句,但性能是可怕的。有沒有人有關於如何做到這一點的想法?
謝謝。
編輯:不幸的是,這個在2000年SQL
對於哪個版本的SQL Server? 2005+具有'PIVOT'語法。但它不是動態的... – 2010-07-30 21:16:25