深入学习ing

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)负责修建拼接好的字符串,将多余字符清理掉;

posted on   深入学习ing  阅读(4796)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
历史上的今天:
2020-10-17 httpclient发送请求出错System.Net.Http.HttpRequestException: The SSL connection could not be established

导航

统计

点击右上角即可分享
微信分享提示