SQL服务器中是否有一种方法可以按如下方式编写输出:
select events
from mytable
原始输出
events
--------
123456
894531
985233
829292
920202
392939
299223
期望的输出
'123456', '894531','985233','829292','920202','392939','299223'
选择''+ CustomerID +',' 来自dbo.Customers 顾客ID ALFKI, ANATR, ANTON, AROUT, BERGS,
希望看到结果为 顾客ID 'ALFKI', 'ANATR', “安东, 'AROUT', 'BERGS', 等......
答案 0 :(得分:5)
SELECT
STUFF(
(SELECT
', ' + events
FROM dbo.mytable
FOR XML PATH('')
), 1, 1, '') As concatenated_string
如果您希望用单引号括起来的值,请编辑上面的填充。
答案 1 :(得分:3)
Concatenating Row Values in Transact-SQL讨论了你拥有的各种选项,如递归CTE,blackbox XML(如Mitch'解决方案),CLR,游标,递归标量UDF等,以及一些不可靠但快速的方法(SELECT with variable串联)。