Sql server 2005 我能转动这张桌子吗?
我有一张桌子:Sql server 2005 我能转动这张桌子吗?,sql-server-2005,Sql Server 2005,我有一张桌子: 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 -- ----- ----- ----- ----- -
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源生成的表上使用它。
请帮忙 如果您正在使用SSI,则可以在数据流任务中使用透视和取消透视数据流元素。假设您的表名为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],[2]…
替换为Name1,Name2…
之后的,用于…
中的RowNum,但它不起作用&抛出数据类型转换错误,有任何注释说明它为什么不起作用吗?不确定,这是一个非常古老的答案,因此我记不起任何关于它的信息,并且很长时间没有在SQL中做过这种事情。它不适用于文字[1]、[2]。。。答案是什么?