【发布时间】:2013-01-08 21:30:51
【问题描述】:
我有一个Table1:
ID Instance Name Size Tech
1 0 D1 123 ABC
1 1 D2 234 CDV
2 2 D3 234 CDV
2 3 D4 345 SDF
我需要使用 Dynamic PIVOT 的结果集与标题一起看起来像:
ID | Instance0_Name | Instance0_Size | Instance0_Tech | Instance1_Name | Instance1_Size | Instance1_tech
1 | D1 | 123 | ABC | D2 | 234 | CDV
任何帮助将不胜感激。使用 Sql Server 2008。
抱歉之前的帖子。
【问题讨论】:
-
您希望
ID显示在最终结果中吗?你有不同的IDs,你想要哪一个? -
我刚刚意识到这一点。感谢您指出这一点。
-
您是否希望每个单独的“ID”值都位于单独的行上,并且与该 ID 关联的所有实例都被转出?这最终会作为结果集看起来非常难看,因为命名是基于实例值的,并且实例值似乎是唯一的。这将导致每列有一个值,并且它不适用于该行的所有实例都为 NULL。根据数据集大小,您可能会遇到列限制问题。
-
这个查询背后的想法(它也必须应用于数据库中的其他表并将它们全部组合起来)是获得一个包含数据库中所有字段的表。 RE-ENGINEER 回到格式 - 一个 CSV 文件,人们可以在其中进行自己的测试(数据透视图/图表),因为现在我没有数据库的前端。 CSV 文件会很大。 NULL 很好。列限制 - 我认为最高为 250。
标签: sql sql-server sql-server-2008 pivot unpivot