我想像这样转换一个表:
Parent Child Value
1 Color Red
1 Height 11
1 Width 12
1 Length 11
2 Color Blue
2 Height 10
2 Width 2
2 Length 5
进入这个:
Parent Color Height Width Length
1 Red 11 12 11
2 Blue 10 2 5
子属性可以随时更改,因此动态构建转换后的列将是最佳的。
答案 0 :(得分:2)
使用Conditional Aggregate
将行转置为列
select Parent,
max(case when Child='Color' then Value End) 'Color',
max(case when Child='Height' then Value End) 'Height',
max(case when Child='Width' then Value End) 'Width',
max(case when Child='Length' then Value End) 'Length'
from yourtable
group by Parent