前言:sqlserver在实现分组拼接一个字段的实现上较mysql比较复杂一些,如果实现类似功能需要借助:for xml path('')和stuff两个方法一起使用即可
sql分组拼接示例:
SELECT TOP 1 o.ID, STUFF((SELECT ','+CONVERT(VARCHAR(100),bill.ID) FROM dbo.TB_OrderBill bill WHERE bill.OrderID=o.ID AND bill.SiteID=o.SiteID FOR XML PATH('')),1,1,'') BillIDArray FROM dbo.TB_Order o WHERE o.AddTime>'2021-01-01' AND o.AddTime<'2021-02-01'
效果:
备注:
for xml path('') : 负责将单列多个结果集拼接成一个字符串(分割符使用+号连接);
STUFF(express,start,length,replace)负责修建拼接好的字符串,将多余字符清理掉;
标签:group,bill,sqlserver,拼接,分组,ID,concat From: https://www.cnblogs.com/lxhbky/p/16799396.html