Sql server 根据项目向上移动并分离对象
我有以下问题:Sql server 根据项目向上移动并分离对象,sql-server,tsql,aggregate-functions,Sql Server,Tsql,Aggregate Functions,我有以下问题: Apple | Document 1 | 5 Orange | Document 2 | 4 Apple | Document 3 | 7 我希望查询的结果如下: Apple | Document 1 | Document 3 | 12 Orange | Document 2 | 7 是否有一个函数可以为您做到这一点?如果您使用的是SQL Server 2017之前的版本,您可以尝试使用Stuff和XML Path的组合 SELECT frui
Apple | Document 1 | 5
Orange | Document 2 | 4
Apple | Document 3 | 7
我希望查询的结果如下:
Apple | Document 1 | Document 3 | 12
Orange | Document 2 | 7
是否有一个函数可以为您做到这一点?如果您使用的是SQL Server 2017之前的版本,您可以尝试使用Stuff和XML Path的组合
SELECT fruit,
abc = STUFF(
(SELECT '|' + doc FROM test t1
WHERE t1.fruit = t2.fruit FOR XML PATH ('')), 1, 1, ''
), SUM(value)
FROM test t2 GROUP BY fruit
这里很好地解释了内容和XML路径
如果您使用的是SQL Server 2017之前的版本,则可以尝试使用Stuff和XML路径的组合
SELECT fruit,
abc = STUFF(
(SELECT '|' + doc FROM test t1
WHERE t1.fruit = t2.fruit FOR XML PATH ('')), 1, 1, ''
), SUM(value)
FROM test t2 GROUP BY fruit
这里很好地解释了内容和XML路径
在SQL Server 2017中,您可以使用STRING_AGG函数和GROUP BY:
在SQL Server 2017中,您可以使用STRING_AGG函数和GROUP BY:
太好了,过几天我会试试的。谢谢有没有一个特定的术语,或者这场运动有没有一个名字可以更好地帮助我的谷歌浏览器?太好了,我会在几天内尝试一下。谢谢是否有一个特定的术语,或者这场运动是否有一个名字能更好地帮助我的谷歌fu?