我有一张这样的表:
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 :(得分:0)
如果您不想手动输入属性列的名称,我相信您唯一的选择就是动态执行此操作。这是动态的方式:
声明@propCols varchar(max)
选择@propCols = isnull(@ propCols +',','')+来自property_table的QUOTENAME(属性)
声明@qry varchar(max)
设置@qry =
'选择项目,' + @ propCols +
'来自表
pivot((' + @propCols +')中的属性的min(value))作为pvt
exec sp_executesql @qry