我有一张桌子:
ID Name
-- -----
1 aaa
2 bbb
2 ccc
2 ddd
3 eee
3 fff
4 ggg
5 hhh
我需要透视此表,以便生成的表如下所示:
ID Name1 Name2 Name3 Name4 Name5 Name6
-- ----- ----- ----- ----- ----- -----
1 aaa NULL NULL NULL NULL NULL
2 bbb ccc ddd NULL NULL NULL
3 eee fff NULL NULL NULL NULL
4 ggg NULL NULL NULL NULL NULL
5 hhh NULL NULL NULL NULL NULL
我必须在SSIS中的XML Source生成的表上使用它。 请帮忙!
答案 0 :(得分:1)
假设您的表名为Test:
select ID, [1] Name1, [2] Name2, [3] Name3, [4] Name4, [5] Name5, [6] Name6
from
(
select id, name, ROW_NUMBER() over (partition by id order by id) as RowNum from Test
) AS A
PIVOT
(
min(name)
for RowNum in ([1], [2], [3], [4], [5], [6])
) as PivotTable;
答案 1 :(得分:0)
如果您正在使用SSIS,则可以在数据流任务中使用pivot和unpivot数据流元素。