将多行转换为一行,将coma作为分隔符

时间:2015-07-06 12:19:07

标签: sql sql-server

如果我发出SELECT ID FROM TestAhmet,我会得到以下结果:

1
3
5
2
4

但我真正需要的是一行,所有值都用逗号分隔,如下所示:

1,2,3,4,5

我该怎么做?

ps:我不能这样做:Convert multiple rows into one with comma as separator

2 个答案:

答案 0 :(得分:1)

这应该有效:

select stuff((select ',' + cast(id as varchar(8000))
              from TestAhmet
              for xml path ('')
             ), 1, 1, '') as users

这是SQL Server中经常使用的字符串聚合逻辑的变体。但是,如果没有group by,您可能无法在网络上找到很多示例。

答案 1 :(得分:1)

如果id是数字列,那么就这样做

sortOrder