多行到一个逗号分隔值
我想在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 ║ ╚════╩═════════════════════╝