多行到一个逗号分隔值

我想在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 ║ ╚════╩═════════════════════╝