プロが教えるわが家の防犯対策術!

SQLについて教えて下さい。
主キーを持ったカラムを主キーの機能を持たせたまま
カンマ区切りで文字列結合したいのですが
可能でしょうか?

例)
ID1、ID2が主キーになっているテーブルがあるとします。
そのテーブルから、以下のような抽出を行いたいです。


ID1 | ID2
————————
 001 | ABC
 002 | DEF
 002 | GHI
 002 | JKL

    ↓

ID1 | ID2
————————
 001 | ABC
 002 | DEF,GHI,JKL

私が書いたSQLは以下になります。
LISTAGG関数を使用したところ
ID2の主キーの機能が外れてしまうのですが
主キーの機能を持たせたまま抽出できないでしょうか?

<SQL>
SELECT
ID1,
LISTAGG(ID2,’,’) WITHIN GROUP (ORDER BY ID2)
FROM テーブル

A 回答 (1件)

あなたの言う「主キーの機能」とは具体的に何を指しているのですか?




>  002 | DEF,GHI,JKL

この内容なら、ID1は重複しないはずなので、主キーはID1だけ十分であり、ID2を主キーに含めるのは間違っていると思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!