在SQLSERVER中的ListAGG

前端之家收集整理的这篇文章主要介绍了在SQLSERVER中的ListAGG前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图在sqlServer中聚合一个“STRING”字段。我想找到相同的功能LISTAGG喜欢在Oracle。

你知道如何做同样的功能或另一种方法吗?

例如,

Field A | Field B
1       |  A
1       |  B
2       |  A

我想这个查询的结果将是

1 | AB
2 | A

解决方法

sql Server中,可以使用FOR XML PATH获取结果:
select distinct t1.FieldA,STUFF((SELECT distinct '' + t2.FieldB
         from yourtable t2
         where t1.FieldA = t2.FieldA
            FOR XML PATH(''),TYPE
            ).value('.','NVARCHAR(MAX)'),1,'') data
from yourtable t1;

SQL Fiddle with Demo

原文链接:https://www.f2er.com/mssql/242859.html

猜你在找的MsSQL相关文章