オラクルでこれを行うことはできますか?次のようなデータがあります。
No | Data |
===========
1 | A |
1 | B |
1 | C |
1 | D |
このような結果を生成できるクエリはありますか?
No | Data |
=================
1 | A, B, C, D |
どうもありがとう:D
オラクルでこれを行うことはできますか?次のようなデータがあります。
No | Data |
===========
1 | A |
1 | B |
1 | C |
1 | D |
このような結果を生成できるクエリはありますか?
No | Data |
=================
1 | A, B, C, D |
どうもありがとう:D
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 |
おそらく、このページはあなたが探しているものを示しています。
Oracleではwm_concat
関数を使用できます。上記の例のクエリは次のとおりです。
SELECT no, wm_concat(data) from table group by no
参照:wm_concat