SQL Server 2005数据透视表

时间:2012-01-30 21:11:31

标签: sql sql-server sql-server-2005 pivot

我想在SQL Server 2005中透视一个列。我很确定有XML方法可以完成它,但无法弄明白。这是一张表:

ID    Class
1     20002
1     20003
1     20004
2     20003
2     20012

期望值是:

ID    Class
1     20002,20003,20004
2     20003,20012

提前致谢

1 个答案:

答案 0 :(得分:3)

我不确定PIVOT(或UNPIVOT)是你在想什么。下面是我需要在查询中嵌入CSV列表时使用的一些代码。希望它有所帮助!

SELECT DISTINCT 
        ID
      , Class = STUFF(
                       cast(
                            (select ', ' + cast(Class as nvarchar) 
                             from TableName t2 
                             WHERE t2.ID = t1.ID 
                             for xml path('')) as nvarchar(2000))
                ,1,2, N'')
FROM TableName t1