• ベストアンサー
※ 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文を教えてください。

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

  • ベストアンサー
回答No.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。

kou-_-kou
質問者

お礼

insert into の後ろにつけるselect文は、通常のselect文と同じと考えてよいのですね。 大変参考になりました。ありがとうございました。

その他の回答 (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のどのテーブルの値を入れるのでしょうか? それがわからないと書けませんけど。

kou-_-kou
質問者

補足

説明不足で大変失礼しました。 Aには、1件もレコードが入っておらず、BとCで主キーo,pが一致するものを合体させてAにinsertしたいと考えています。 項目o,pについては、テーブルBから取得。(主キーを一致させるのでCでもかまいません) 項目q,rについては、テーブルBから取得。 項目s,tについては、テーブルCから取得。 上記のように考えております。

関連するQ&A