SQL选择分组依据和字符串concat

问题描述

这将与sql-server 2008一起使用

SELECT p1.ID,
       ( SELECT NAME + ' and ' 
           FROM YourTable  p2
          WHERE p2.ID = p1.ID
          ORDER BY NAME
            FOR XML PATH('') ) AS Name,
        sum(Amount)
      FROM YourTable p1
      GROUP BY ID ;

解决方法

我有这样的桌子

ID  NAME    Amount
1   cal     100
2   cal     200
3   cal     300
4   cal     400
1   ser     500
2   ser     600
5   ser     700

我想写一个选择查询,这样我就可以得到这样的结果

ID  NAME            Amount
1   cal and ser     600
2   cal and ser     800
3   cal             300
4   cal             400
5   ser             700

在这里,我需要按ID和数量总和进行分组,并用相同的ID和Differentnet名称连接字符串名称