多行到一个逗号分隔值
我想在SQL Server中创build一个表值函数,我想用逗号分隔值返回数据。
比如table: tbl
ID | Value ---+------- 1 | 100 1 | 200 1 | 300 1 | 400
现在,当我使用函数Func1(value)
执行查询时,
SELECT Func1(Value) FROM tbl WHERE ID = 1
我想要的输出是: 100,200,300,400
testing数据
DECLARE @Table1 TABLE(ID INT, Value INT) INSERT INTO @Table1 VALUES (1,100),(1,200),(1,300),(1,400)
询问
SELECT ID ,STUFF((SELECT ', ' + CAST(Value AS VARCHAR(10)) [text()] FROM @Table1 WHERE ID = t.ID FOR XML PATH(''), TYPE) .value('.','NVARCHAR(MAX)'),1,2,' ') List_Output FROM @Table1 t GROUP BY ID
结果集
╔════╦═════════════════════╗ ║ ID ║ List_Output ║ ╠════╬═════════════════════╣ ║ 1 ║ 100, 200, 300, 400 ║ ╚════╩═════════════════════╝