将行值转换为连接字符串

时间:2014-12-08 02:13:39

标签: sql tsql

我正在尝试将数据从行转换为多个连接字符串

HH  3(6.27)
HH  4(4.48)
LH  5(0)
HH  6(2.27)
HH  7(0)
LL  31(0)
LM  32(0)

这是其中一个子查询的结果,如何将其转换为

HH 3(6.27), 4(4.48), 6(2.27), 7(0)
LH  5(0)
LL  31(0)
LM  32(0)

1 个答案:

答案 0 :(得分:2)

您正在寻找聚合字符串连接。以下是在SQL Server中执行此操作的方法:

with cte(col1, col2) as (
      < your subquery here >
     )
select distinct col1,
       stuff((select ', ' + col2
              from cte cte2
              where ct2.col1 = cte.col1
              for xml path ('')
             ), 1, 2, '') as col2s
from cte;