技术学习

我所喜欢的

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

SqlServer 2017+版本可以使用如下语句

SELECT
    GroupColumn,
    STRING_AGG(TargetColumn, ',') WITHIN GROUP (ORDER BY TargetColumn) AS MergedStrings
FROM
    YourTable
GROUP BY
    GroupColumn;

 

 

对于2017版本之前,可以使用FOR XML PATH方法:

SELECT
    GroupColumn,
    STUFF(
        (SELECT ', ' + TargetColumn
         FROM YourTable t2
         WHERE t2.GroupColumn = t1.GroupColumn
         ORDER BY TargetColumn
         FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 
    1, 2, '') AS MergedStrings
FROM
    YourTable t1
GROUP BY
    GroupColumn;

 

posted on 2024-07-25 15:04  飘扬De黑夜  阅读(24)  评论(0编辑  收藏  举报