【问题标题】:group by and FOR XML PATH分组和 FOR XML PATH
【发布时间】:2019-11-06 10:39:08
【问题描述】:

在 sql server 中使用 xml 进行路径和分组时遇到问题

我有这张桌子:

谢谢

需要得到这个:

【问题讨论】:

  • 请发布您的尝试
  • 这里的大多数人想要格式化的文本而不是图像。
  • 您的 SQL Server 版本是多少?
  • 我无法添加文本而不是图像,它被破坏了
  • 为什么要在'gig' 之前而不是'gama' 之前有一个空格?

标签: sql sql-server xml path


【解决方案1】:

我假设这 3 列来自同一个表。 我创建了您给定的数据,因此我可以测试我的解决方案是否有效。它确实:)

create table table1 (column1 int, column2 nvarchar(1), column3 nvarchar(150))


insert into table1 values (1, 'A', 'Alpha')
, (1, 'b', 'beta')
, (1, 'b', 'gama')
, (2, 'A', 'delta')
, (2, 'b', 'ef')
, (2, 'b', 'gig')


SELECT 
   t1.column1
   , t1.column2
   , STUFF((SELECT ', ' + t2.column3 
          FROM table1 t2
          WHERE t2.column1 = t1.column1
            and t2.column2 = t1.column2
          FOR XML PATH('')), 1, 1, '') as new_row
FROM table1 t1
GROUP BY t1.column1, t1.column2
ORDER BY 1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多