0

我想要表格中的数据

A B
- -
1 a
2 b
3 b

在这个结果表格中

A   B
--- -
1   a
2,3 b

但我在 1.8 版中使用超音速,找不到“for xml”子句。

任何没有“for xml”的解决方案,比如一列中的逗号分隔值 - SQL SERVER

4

1 回答 1

0
SELECT 
  a
,   MAX( CASE seq WHEN 1 THEN (b) ELSE '' END )
  + MAX( CASE seq WHEN 2 THEN (', ' + b) ELSE '' END ) 
  + MAX( CASE seq WHEN 3 THEN (', ' + b) ELSE '' END ) 
  + MAX( CASE seq WHEN 4 THEN (', ..') ELSE '' END )
  AS b
FROM (SELECT 
        t1.a
      , t1.b
      , (SELECT COUNT(*) FROM t t2 WHERE t1.a = t2.a AND t2.b <= t1.b) AS seq 
      FROM t t1) AS temp
GROUP BY a
于 2013-10-17T06:35:11.927 回答