源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

sql server 中合并某个字段值的实例

  • 时间:2020-07-09 18:48 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:sql server 中合并某个字段值的实例
有表如下: [img]http://files.jb51.net/file_images/article/201303/2013329100239193.jpg[/img] 如何获得如下结果: [img]http://files.jb51.net/file_images/article/201303/2013329100631972.jpg[/img] [b]解法[/b] 使用xml转换 代码如下:
[u]复制代码[/u] 代码如下:
 CREATE TABLE body   (       ID int,       BODY nvarchar(20)      )   go   INSERT INTO body VALUES(1,'aaaa')   INSERT INTO body VALUES(2,'bbbb')   INSERT INTO body VALUES(1,'cccccc')   INSERT INTO body VALUES(3,'ddddd')   go   SELECT * FROM body   SELECT distinct a.ID,stuff((SELECT ','+BODY FROM body WHERE ID=a.ID FOR xml path('')),1,1,'') ASBODY   FROM  body a      --具体思路是这样的:   SELECT ','+BODY FROM body WHERE ID=a.ID FOR xml path('')   --这条语句的作用是按照a中的ID查找body表中ID=a.ID的所有记录,并把它转换成一个xml(关于将查询集转换成xml的文章,你可以去看看)   stuff((SELECT ','+BODY FROM body WHERE ID=a.ID FOR xml path('')),1,1,'')   --这条语句的作用是把生成的xml前面的一个逗号去掉并转化成标量值   --最后用一个distinct去掉重复的记录
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部