【发布时间】:2013-09-23 10:09:27
【问题描述】:
我目前正在尝试将某些行 PIVOT 到列。问题是我并不总是知道有多少行可用。我们来看一个例子:
Values_Table Columns_Table
------------ -----------
ID ID
ColumnsTableID GroupID
Value ColumnName
结果”
Columns_Table
---------------
ID | GroupID | ColumnName
---------------------------------
0 1 Cats
1 1 Dogs
2 1 Birds
3 2 Pontiac
4 2 Ford
5 3 Trex
6 3 Raptor
7 3 Triceratops
8 3 Kentrosaurus
静态数据透视的 SQL FIDDLE 示例。我正在尝试实现动态支点 - http://sqlfiddle.com/#!3/2be82/1
因此,这是我的两难境地:在这种情况下,我希望能够基于 GroupID 来旋转未知数量的列。
我希望能够 PIVOT,例如,将 GroupID 3 中的所有行转换为列。我需要在不知道 groupID 3 中有多少行的情况下执行此操作。
数据库的设计是一成不变的,所以我对此无能为力。我所能做的就是利用我所拥有的:(
那么,有人对如何完成这项任务有任何建议吗?在此示例中,基于 groupID 将未知数量的行 PIVOTing 到列中?
【问题讨论】:
标签: sql sql-server tsql pivot