我有一个 SQL Server 表,如下所示:
RESOURCE | DESCRIPTION | VALUE
Test A Name | Resource A-xyz
Test A | Height | 20
Test A | Unit | ft
Test A | Location | Site 1
Test B | Volume | 30
Test C | Width | 10
Test C | Unit | in
我想把它变成这样的格式:
RESOURCE | Name | Height | Unit | Location | Volume | Width
Test A | Resource A-xyz | 20 | ft | Site 1 | |
Test B | | | | | 30 |
Test C | | | in | | | 10
我遇到的问题之一是没有固定的描述模式;例如,资源“测试 B”可能具有与“测试 A”相同的所有描述,而“测试 C”可能缺少一些描述,而“测试 D”可能具有完全不同的集合。
到目前为止,谷歌建议我使用数据透视表,但我仍然不确定如何使用上述数据来做到这一点。
生成的列列表基于您在PIVOT
:
SELECT *
FROM Table1
PIVOT(MAX(VALUE) FOR DESCRIPTION IN (Name,Height,Unit,Location,Volume,Width))p
Demo: SQL小提琴 http://sqlfiddle.com/#!3/59b48/1/0
如果您有更改值DESCRIPTION
动态构建这个查询是值得的,有很多关于“动态枢轴”的好例子可以找到。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)