我有这样的桌子
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名称连接字符串名称
这将与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 ;