在SQL Server中将多行连接到一行

时间:2018-03-28 03:30:51

标签: sql-server sql-server-2008 string-concatenation

我有一个SQL Server输出,它返回以下一列值:

[0.0, 1.0, 
1.4142135623730951, 1.7320508075688772, 
2.0, 2.23606797749979, 
2.449489742783178, 2.6457513110645907, 
2.8284271247461903, 3.0]

输出:

RepresentID 
---------------
111122222
3333344444
5555566666
000000090909
7777788888
9999999999
121212131313
141414151515

1 个答案:

答案 0 :(得分:1)

  

需要将所有行连接到一行。

使用xml路径,如下所示

 SELECT STUFF((
        SELECT
            ','+cast(representid as varchar(30))
        FROM
          table 
        FOR
            XML PATH('')
        ),1,1,''
    ) AS comma_seperated_list;

在sql2017上,您可以使用string_aggregate,如下所示

select string_agg(cast(representid as varchar(40)),',')
from table