- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:select insertで複数テーブルから値を取得したい)
select insertで複数テーブルから値を取得する方法とは?
このQ&Aのポイント
- oracle9iの環境でselect insertで複数テーブルから値を取得して、1つのテーブルにinsertすることは可能ですか?具体的なSQL文の書き方を教えてください。
- Aテーブルの項目o,p,q,r,s,tに、BテーブルとCテーブルからデータを取得してinsertしたいと考えています。
- BテーブルとCテーブルの主キーであるoとpが一致するデータを参照し、Aテーブルに結合してデータをinsertしたいです。具体的なSQL文を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
insert into A(o,p,q,r,s,t) select B.o,B.p,B.q,B.r,C.s,C.t from B,C where B.o=C.o and B.p=C.p; って感じかと。普通に問合せ文を書くだけですよ。 問合せ文自体は、内部結合だろうが外部結合だろうが何でもOK。
その他の回答 (1)
- SaKaKashi
- ベストアンサー率24% (755/3136)
回答No.1
趣味ですか、仕事ですか?仕事なら本を買えば一杯情報が載ってますよ。 insert into A(o,p,q,r,s,t) のo,p,q,r,s,tはA,B,Cのどのテーブルの値を入れるのでしょうか? それがわからないと書けませんけど。
質問者
補足
説明不足で大変失礼しました。 Aには、1件もレコードが入っておらず、BとCで主キーo,pが一致するものを合体させてAにinsertしたいと考えています。 項目o,pについては、テーブルBから取得。(主キーを一致させるのでCでもかまいません) 項目q,rについては、テーブルBから取得。 項目s,tについては、テーブルCから取得。 上記のように考えております。
お礼
insert into の後ろにつけるselect文は、通常のselect文と同じと考えてよいのですね。 大変参考になりました。ありがとうございました。