查询的不同视图

时间:2015-11-02 10:11:45

标签: sql sql-server tsql

我有一些像

这样的数据
A     B
1     ATH
1     FRA
1     PAR
2     ATH
3     PAR
3     FRA

我想采取像

这样的报告
1  ATH, FRA, PAR
2  ATH
3  PAR, FRA

单个查询可以实现吗?

1 个答案:

答案 0 :(得分:1)

使用Stuff将多行转换为逗号分隔值。

SELECT  A
       ,STUFF((SELECT ', ' + CAST(B AS VARCHAR(10)) [text()]
         FROM @Table1 
         WHERE A = t.A
         FOR XML PATH(''), TYPE)
        .value('.','NVARCHAR(MAX)'),1,2,' ') NewBColumn
FROM @Table1 t
GROUP BY A