sqlserver实现group by实现group_concat分组并拼接一个字段
前言: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)负责修建拼接好的字符串,将多余字符清理掉;
*感谢您的阅读。喜欢的、有用的就请大哥大嫂们高抬贵手“推荐一下”吧!你的精神 支持是博主强大的写作动力。欢迎转载!
*博主的文章是自己平时开发总结的经验,由于博主的水平不高,不足和错误之处在所难免,希望大家能够批评指出。
*我的博客: http://www.cnblogs.com/lxhbky/
*博主的文章是自己平时开发总结的经验,由于博主的水平不高,不足和错误之处在所难免,希望大家能够批评指出。
*我的博客: http://www.cnblogs.com/lxhbky/