• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:オラクル結合SQL)

オラクル結合SQLでtable1とtable2を結合し、view1を作成する方法

このQ&Aのポイント
  • オラクル9.1で、table1とtable2を結合して、view1を作成するSQLの方法について教えてください。
  • うまい結合方法がわからず困っています。オラクル初心者です。
  • table1とtable2を結合して、view1を作成するための適切なSQL文をお教えください。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

select a.*,b.* from table1 a, ( select no, 項目, max(decode(種別,'01',結果)) 結果1, max(decode(種別,'02',結果)) 結果2, max(decode(種別,'03',結果)) 結果3 from table2 group by no,項目 ) b where a.no=b.no and a.項目=b.項目; とかで良いと思いますけど。

gonchin01
質問者

お礼

できました! fromの方をいじればいけますね。 ありがとうございました!

その他の回答 (1)

回答No.1

select no, 項目, max(decode(種別,'01',結果)) 結果1, max(decode(種別,'02',結果)) 結果2, max(decode(種別,'03',結果)) 結果3 from table2 group by no,項目; のような書き方が簡単な方法です。 あなたの書きたかったSQLを完成させるとしたら、 select x.no,x.項目,a.結果,b.結果,c.結果 from table1 x,table2 a,table2 b,table2 c where x.no = a.no and x.項目=a.項目 and a.種別='01' and x.no = b.no and x.項目=b.項目 and b.種別='02' and x.no = c.no and x.項目=c.項目 and c.種別='03'; みたいな感じかと思いますが、幾重にも結合するので、速度的には 不利なSQLとなります。

gonchin01
質問者

お礼

ありがとうございます!できました! すごくシンプルでよいです。 ちなみに、これにtable1から列を追加したい場合は、 これにfrom を追加する感じがシンプルでしょうか? view1 良い例2 no 項目 結果1 結果2 結果3 その他 その他1 1   1   3   8   7   xx yyy 1   2  9   6  2 fww ffd 1  3  1............ ...................

関連するQ&A

専門家に質問してみよう