sql server 2005 and above, 合并多行为一行,并返回
2011-04-19 11:37
633 查看
数据集:表名:tb_test
id name
1 abc
2 xyz
3 test
想一次性返回:1,abc|2,xyz|3,test
具体的测试SQL如下:
DECLARE @Sample TABLE (ID INT, NAME VARCHAR(50))
INSERT @Sample
SELECT 1, 'a是cdl' UNION ALL
SELECT 2, 'bcdl' UNION ALL
SELECT 3, 'ccdl' UNION ALL
SELECT 4, 'dcdl'
SELECT CAST(STUFF(g.y, 1, 1, '') AS VARCHAR(100)) AS result
FROM (
SELECT DISTINCT '|' + CAST(id AS VARCHAR(11))+','+NAME
FROM @Sample
FOR XML PATH('')
) AS g(y)
id name
1 abc
2 xyz
3 test
想一次性返回:1,abc|2,xyz|3,test
具体的测试SQL如下:
DECLARE @Sample TABLE (ID INT, NAME VARCHAR(50))
INSERT @Sample
SELECT 1, 'a是cdl' UNION ALL
SELECT 2, 'bcdl' UNION ALL
SELECT 3, 'ccdl' UNION ALL
SELECT 4, 'dcdl'
SELECT CAST(STUFF(g.y, 1, 1, '') AS VARCHAR(100)) AS result
FROM (
SELECT DISTINCT '|' + CAST(id AS VARCHAR(11))+','+NAME
FROM @Sample
FOR XML PATH('')
) AS g(y)
相关文章推荐
- Sql Server:多行合并成一行,并做分组统计的两个方法
- Sql Server合并多行询数据到一行:使用自连接、FOR XML PATH('')、STUFF或REPLACE函数
- awk与sed 合并多行为一行
- SQL Server 2005中的分区表(四):删除(合并)一个分区
- SQL Server 2005中的分区表(四):删除(合并)一个分区
- sql server 2005 中根据字段组,合并其它列值
- oracle 11g 使用listagg函数合并多行为一行
- sql server 把多行合并一行,并连接成一个字符串
- SQL Server 2005 行号、合并、分组
- SQL Server 2005合并列成字符串 2008-11-07
- SQL Server 2005返回刚刚插入的数据条目id值
- SQL Server 2005/2008 合并复制Step by Step
- SQL Server 2005合并列成字符串 2008-11-07
- Sql Server里巧用Case将多行显示的数据合并为一行显示
- Sql Server:多行合并成一行,并做分组统计的两个方法
- SQL Server 2005中的分区表(四):删除(合并)一个分区
- Sql Server合并多行询数据到一行:使用自连接、FOR XML PATH('')、STUFF或REPLACE函数
- MSSQL2005中将多行合并为一行的方法,此方法不再使用sql2000中函数转换的办法
- SQL Server 2005 合并行数据
- Sql Server:多行合并成一行,并做分组统计的两个方法