テーブル内のデータをIDと日付でまとめてVALの値を抽出したいです。
副問合せを使ってやるのではと考えています。
教えていただきたいです。
◆テーブル内
ID | DATE | VAL_ID | VAL |
---|---|---|---|
1 | 20190101 | 10 | aaa |
1 | 20190101 | 20 | bbb |
1 | 20190101 | 30 | ccc |
◆抽出したい内容
ID | DATE | VAL10 | VAL20 | VAL30 |
---|---|---|---|---|
1 | 20190101 | aaa | bbb | ccc |
SELECT T1.ID, T1.DATE, T1.VAL_ID AS VAL10 ( SELECT SUB1.VAL, FROM SUB1 WHERE AND VAL_ID = '20' ) AS VAL20, ( SELECT SUB2.VAL, FROM SUB2 WHERE VAL_ID = '30' ) AS VAL30 FROM T1 WHERE T1.VAL_ID = '10'
「単一行副問合せにより2つ以上の行が戻されます」
↑↑このようなエラーが出力されます。
テスト用sqlを記述したため間違いがあると思われますが
上のテーブル内容などを見てご理解していただければと思います。
`試したsql2` SELECT T1.ID, T1.DATE, LISTAGG(VAL,',')WITHIN GROUP(order by VAL_ID) List_VAL FROM T1 WHERE (T1.VAL_ID = '10' OR T1.VAL_ID = '20' OR T1.VAL_ID = '30') GROUP BY T1.ID , T1.DATE
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/15 04:59
2019/11/15 06:17
2019/11/15 06:23
2019/11/15 06:31 編集
2019/11/15 06:34