2017-06-21 40 views
-3

我有一個這樣的表創建一個表的列:從另一個表中的行

Item Property Value 
1  a   20 
1  b   34 
1  c   36 
2  a   21 
2  b   32 
2  k   11 
2  t   15 

我想這樣的一個表:

Item a  b  c  k  t 
1  20  34  36 
2  21  32    11  15 

反正是有一個這樣做SQL查詢?

+0

'Select Case Sum()Group By'是我的第一個想法,只有當屬性字段是靜態的。如果他們是動態的,那麼這對你而言不起作用。 –

+0

我知道這些都做了什麼,但不知道如何將它們結合起來以獲得此結果! – Sam

+0

顯示您到目前爲止所嘗試的內容。 –

回答

0

如果您不想手動輸入屬性列的名稱,我相信您唯一的選擇是動態地執行此操作。下面是動態的方式:

聲明@propCols VARCHAR(最大)
選擇@propCols = ISNULL(@propCols + '', '')+ QUOTENAME從property_table

申報@qry VARCHAR(屬性) (最大)
組@qry = 「選擇項, '+ @ propCols +
'從表
樞軸(分鐘(值),用於(屬性' + @ propCols +'))作爲PVT

EXEC sp_executesql的@qry

+0

property_table =獨特的'財產'值 –