-1

オラクルでこれを行うことはできますか?次のようなデータがあります。

No | Data |
===========
 1 | A    |
 1 | B    |
 1 | C    |
 1 | D    |

このような結果を生成できるクエリはありますか?

No | Data       |
=================
 1 | A, B, C, D |

どうもありがとう:D

4

4 に答える 4

1

SQL フィドル

Oracle 11g R2 スキーマのセットアップ:

CREATE TABLE TEST ( ID, DATA ) AS
          SELECT 1, 'A' FROM DUAL
UNION ALL SELECT 1, 'B' FROM DUAL
UNION ALL SELECT 1, 'C' FROM DUAL
UNION ALL SELECT 1, 'D' FROM DUAL
UNION ALL SELECT 2, 'E' FROM DUAL
UNION ALL SELECT 2, 'F' FROM DUAL;

クエリ 1 :

SELECT ID,
       LISTAGG( DATA, ',' ) WITHIN GROUP ( ORDER BY DATA ) AS AGGREGATED_DATA
FROM   TEST
GROUP BY ID

結果

| ID | AGGREGATED_DATA |
|----|-----------------|
|  1 |         A,B,C,D |
|  2 |             E,F |
于 2015-06-18T17:37:24.133 に答える
1

おそらく、このページはあなたが探しているものを示しています。

于 2012-05-09T09:21:30.803 に答える
0

Oracleではwm_concat関数を使用できます。上記の例のクエリは次のとおりです。

SELECT no, wm_concat(data) from table group by no

参照:wm_concat

于 2012-05-09T09:43:31.050 に答える