SQL Server 2005 数据透视表

发布于 2025-01-01 00:08:00 字数 272 浏览 2 评论 0原文

我想在 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

提前致谢

I want to pivot a column in SQL Server 2005. I'm pretty sure there is XML way to get it done but can't figure it out. Here is a table:

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

Desired value is:

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

Thanks in advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

长安忆 2025-01-08 00:08:00

我不确定 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

I am not sure PIVOT (or UNPIVOT) are what you are looking for. Below is some code that I use when I need to get a CSV list embedded in a query. Hope it helps!

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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文