原文:

http://njm.iteye.com/blog/795881

--使用 自连接、for xml path('')和stuff合并显示多行数据到一行中--注
--1、计算列可以不用包含在聚合函数中而直接显示,如下面语句的val。
--2、for xml path('') 应该应用于语句的最后面,继而生成xml。
--3、for xml path('root')中的path参数是生成的xml最顶级节点。
--4、字段名或是别名将成为xml的子节点,对于没有列名(字段+'')或是没有别名的字段将直接显示。如[value] +','则是用,分隔的数据(aa,bb,)。
--5、对于合并多行数据显示为一行数据时使用自连。--生成测试表并插入测试数据
create table tb(id int, value varchar(10))
insert into tb values(1, 'aa')
insert into tb values(1, 'bb')
insert into tb values(2, 'aaa')
insert into tb values(2, 'bbb')
insert into tb values(2, 'ccc')
go--第一种显示
select id, [val]=(
select [value] +',' from tb as b where b.id = a.id for xml path('')) from tb as a
--第一种显示结果
--1    aa,bb,
--1    aa,bb,
--2    aaa,bbb,ccc,
--2    aaa,bbb,ccc,
--2    aaa,bbb,ccc,--第二种显示
select id, [val]=(
select [value] +',' from tb as b where b.id = a.id for xml path('')) from tb as a
group by id
--第二种显示结果
--1    aa,bb,
--2    aaa,bbb,ccc,--第三种显示
select id, [val]=stuff((
select ','+[value] from tb as b where b.id = a.id for xml path('')),1,1,'') from tb as a
group by id
--第三种显示结果
--1    aa,bb
--2    aaa,bbb,ccc--典型应用
--AMD_GiftNew中获取所有的管理员ID
--select adminIds = stuff((select ','+cast(UserId as varchar) from MM_Users where RoleId = 1 and flag =0 for xml path('')),1,1,'')
--典型应用显示结果
--3,27

使用自连接、for xml path('')和stuff合并显示多行数据到一行中(转)相关推荐

  1. Excel 快速合并多行数据为一行

    选中多行数据,点击[填充]. 选择[两端对齐]. 注,如果未合并,需要将单元格拉宽后,再次重复以上操作.

  2. layui导出excel动态拆分单元格一个单元格显示多行数据合并单元格

    需求如图 首先说明是不能拆分单元格的,因为单元格是最小单位.只能通过合并单元格来实现. 实现思路:点击导出按钮,去请求后端数据.data数据如下: [{OrderNo: 'No637829645038 ...

  3. Postgre合并多行数据为一行

    业务情景描述:用户需要一行展示所有的文件名称, 比如:你的1.txt.2.txt.3.txt未上传成功,请核查! SELECT * FROM fileTable --查询结果如下: 1.txt 2.t ...

  4. 使用 FOR XML PATH 合并SQL Server查询结果的重复行

    参考资料: http://www.cnblogs.com/doubleliang/archive/2011/07/06/2098775.html http://www.cnblogs.com/code ...

  5. 利用 T-sql 的从句 for xml path('') 实现多行合并到一行, 并带有分隔符

    T-sql 有一个for xml path('')的从句能把多行结果合并到一行,并成为xml 格式 比如有一张表tb有两列,其格式和数据为: id value ----- 1 aa 1 bb 2 aa ...

  6. (4.28)for xml path 在合并拆分上的作用演示

    for xml path 用于合并与拆分 1.合并 很多时候需要在SQL Server中创建逗号分隔列表.这可以使用SQL Server的DOR XML PATH功能完成.与select语句一起使用时 ...

  7. SQL中的for xml path

    点击关注"SQL数据库开发", 设为"置顶或星标",第一时间送达干货 最近出的每日一题里面,有一道是关于合并同类型数据为一行的题,使用SQL Server 20 ...

  8. 灵活运用 SQL SERVER FOR XML PATH

    FOR XML PATH 有的人可能知道有的人可能不知道,其实它就是将查询结果集以XML形式展现,有了它我们可以简化我们的查询语句实现一些以前可能需要借助函数活存储过程来完成的工作.那么以一个实例为主 ...

  9. 将SQL for xml path('')中转义的字符正常显示

    将SQL for xml path('')中转义的字符正常显示 在工作中出现的发送邮件的时候:因为邮件内容中有链接,并且多个拼接在一起的,于是用了for xml path().        但是,这 ...

最新文章

  1. web python 维护性_Lemon-Web阶段考核(三)
  2. 打造vim的python编辑器
  3. div为空的时候 浮动没有效果_3种CSS清除浮动的方法
  4. 三国杀服务器改名 插图修改,《三国杀》大幅修改的武将——新旧两版,你更喜欢哪一位...
  5. 十大算法 — 冒泡排序法【C语言代码诠释】
  6. shiro实战系列(十一)之Caching
  7. 19.mysql 字符集和校对规则
  8. python执行命令不阻塞_通过python 执行 nohup 不生效的解决
  9. 评分卡模型python实现
  10. 联想计算机启天m6900价格,联想启天m6900内存及基本【参数介绍】
  11. torch.kron()函数
  12. CentOS 搭建NFS
  13. 白话isEqual和hash的关系
  14. 阿里IoT云VS腾讯IoT云,相互抄袭还是一女俩嫁?
  15. 利用Prometheus(普罗米修斯)Grafana对机器群的运行时各项数据进行监控
  16. “泄密者”阿桑奇的加密人生
  17. 搭建TDH商业大数据平台社区版(附其他主流商业大数据平台下载汇总)
  18. 超好用!5款完全免费、支持全平台的笔记软件
  19. Pico Neo3 通过unity实现VR手柄瞬移功能
  20. 学习笔记(01):OpenGL-三角形列表绘-顶点数据方式绘制

热门文章

  1. CommonsMultipartFile 转为 File 类型
  2. jemter编写Mysql脚本___传参
  3. 第三届山西省赛1004 一道大水题(scanf)
  4. 软件项目第一次Sprint评分表
  5. 三个Javascript内容切换效果类
  6. sap运维要做哪些工作_社会工作师可以做哪些工作?考试难不难?
  7. python处理teradata数据库_Teradata数据库——你需要了解的基础知识
  8. css设置并排,CSS并排排列2个div
  9. linux代码中能出现中文吗_Linux命令很熟悉,你知道它们的英文全称和中文解释吗?...
  10. 高性能服务器编程代码清单9-3,JRockit JVM优化清单/调优指南