【问题标题】:SQL Query for aggregation/concatenation聚合/连接的 SQL 查询
【发布时间】:2011-12-15 07:47:07
【问题描述】:

我有一张这样的桌子:

ID    Name
----------
1   john
1   molly
2   greg
2   sean
1   holly
2   mill

SQL 查询应该是什么来聚合如下结果:

ID  Name
-------------
1   john/molly/holly
2   greg/sean/mill

【问题讨论】:

    标签: sql sql-server tsql sql-server-2008-r2


    【解决方案1】:

    注意:STUFF 函数只是从返回的字符串中删除前导 /。

    SELECT t1.id, 
           STUFF((SELECT '/' + t2.name
                    FROM YourTable t2
                    WHERE t1.id = t2.id
                    ORDER BY t2.name
                    FOR XML PATH('')),1,1,'') AS Name
        FROM YourTable t1
        GROUP BY t1.id
    

    【讨论】:

      猜你喜欢
      • 2023-02-03
      • 2023-03-06
      • 2012-09-28
      • 2017-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-03
      相关资源
      最近更新 更多