sql - 连接分组的行

标签 sql xml tsql xpath xquery

我想知道是否可以从这张表中看出

ID   Price    ServiceID
1    50       11
1    -10      12
2    100      11
2    20       11

按 ID 分组,对价格求和并连接 serviceID,如下所示:

ID   Price    ServiceID
1    40       11,12
2    120      11

按 ID 分组并加总价格相当简单,但困扰我的是连接服务 ID。

感谢您的参与。

最佳答案

使用:

select t.id, sum(t.price)
    , stuff((
        select distinct ',' + cast(t2.ServiceID as varchar(max))
        from @t t2
        where t2.id = t.id
        for xml path('')
    ), 1, 1, '')
from @t t
group by t.id

输出:

----------- --------------------- ---------------------
1           40,00                 11,12
2           120,00                11

关于sql - 连接分组的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9139472/

相关文章:

mysql - 从两个表中查找唯一 ID 并从两个表中查找相应的计数

c# - SQL 用户类型问题

xml - 使用 XSLT 删除所有带有或不带有现有属性的空 XML 元素

sql-server - 如何删除 PK 列/键上的 ROWGUID 指定

php - 嵌套 MySQLI 查询

sql - 使用联接删除 sybase 中的行

php - 如何使用 SimpleXMLElement 和多个命名空间解析 XML 文件?

android - 购物车图标未与操作栏中的计数器一起显示

sql-server - 在动态数据透视中对月份名称进行排序

sql-server - 如何将在线 CSV 中的数据插入 SQL Server 数据库?