您的位置:首页 > 数据库

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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: