SQL Server中将多行数据拼接为一个字符串
来源:互联网 发布:淘宝助理怎么使用 编辑:程序博客网 时间:2024/04/30 18:20
方法一: 使用T-SQL
DECLARE @Users NVARCHAR(MAX)
SET @Users = ''
SELECT @Users = @Users + ',' + UserName FROM dbo.[User]
WHERE RoleID = 1
SELECT @Users
转载自:http://www.fengfly.com/plus/view-172336-1.html
方法二:使用for xml path('') 和stuff
--使用 自连接、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--第一种显示结果--1aa,bb,--1aa,bb,--2aaa,bbb,ccc,--2aaa,bbb,ccc,--2aaa,bbb,ccc,--第二种显示select id, [val]=(select [value] +',' from tb as b where b.id = a.id for xml path('')) from tb as agroup by id--第二种显示结果--1aa,bb,--2aaa,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 agroup by id--第三种显示结果--1aa,bb--2aaa,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转载自:http://njm.iteye.com/blog/795881
- SQL Server中将多行数据拼接为一个字符串
- SQL Server中将多行数据拼接为一行数据(一个字符串)
- SQL Server中将多行数据拼接为一行数据(一个字符串)
- Oracle 把某一列的多行数据拼接为一个字符串
- SQL Server 查询结果多行数据拼接
- SQL 拼接多行数据
- SQL Server 拼接字符串
- sql server 拼接字符串
- SQL Server 中利用STUFF和FOR XML PATH()实现多行数据的拼接
- sql server 中将由逗号“,”分割的一个字符串,转换为一个表,并应用与 in 条件
- sql server 中将由逗号“,”分割的一个字符串,转换为一个表,并应用与 in 条件
- sql server 中将由逗号“,”分割的一个字符串,转换为一个表,并应用与 in 条件
- Sql Server 中将由逗号“,”分割的一个字符串转换为一个表集,并应用到 in 条件中
- 关于sql server拼接字符串!
- SQL server 字符串变量拼接
- SQL Server将一列的多行内容拼接成一行或一个字符串的问题
- 很有意思的SQL多行数据拼接
- 很有意思的SQL多行数据拼接 转
- 2012年中国汽车企业出口排名:自主车企包揽前三
- VS2005 怪异问题解决,没有找到MFC80UD.DLL
- Chart FX for WPF绘制地图轮廓
- 高手给菜鸟学习Linux的10个建议
- 如何规划技术人员的头几年
- SQL Server中将多行数据拼接为一个字符串
- no such savepoint: s24909, executing statement 'RELEASE s24909'
- 分析EXCEL2003xls文件格式小结
- 小结04 异步下载图片缓存到内存中
- wordpress 文件详解说 - 根目录
- Error in invoking target 'mkldflags ntcontab.o nnfgt.o' of makefile '.../ins_net_client.mk'--68%问题
- HTML标签全称及功能描述
- iphone 获取UIWebView内Html方法
- 可预见的溃坝