2

通常は同じ値を持つ複数の行を単一の行に返す SQL クエリを変更する方法はありますか?

たとえば、既存のクエリがこれを返す場合:

ColA ColB
1    AA
1    BB
1    CC
2    AA
3    AA

3 行のみが返されるようにクエリを変更し、1 の 2 番目と 3 番目の結果を最初の行に配置して、次の行を作成できます1 AA BB CCか?

4

1 に答える 1

1

あまり良くありませんが、機能しています( group_concatMySqlにはありません):

SELECT ColA, 
       ColB=STUFF(
             (SELECT ' ' + ColB 
              FROM dbo.Table1 t2
              WHERE t1.ColA = t2.ColA 
              FOR XML PATH (''))
             , 1, 1, '')
FROM dbo.Table1 t1
GROUP BY ColA

デモ

[編集:何らかの理由でSQL-Serverと推定される]

于 2013-07-30T22:46:28.663 に答える