• ベストアンサー

Oracle複数の表をもとにmerge文を実行

Oracle11gでSQL文の質問 merge文を3つ以上の表を使いたいのですが mergeの実行で表Aに表B,表Cの値の挿入はできますか? mergeは表Aと表Bの2つの表の間のやり取りだけのでしょうか? よろしくおねがいします

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

  • ベストアンサー
  • yamada_g
  • ベストアンサー率68% (258/374)
回答No.2

雰囲気としては merge into table_A dest using (  select table_B.col1, table_C.col2  from table_B  inner join table_C  on table_B.col1 = teble_C.col1) src on (dest.col1 = src.col1) when matched then  --更新処理 when not matched then  --挿入処理 ; のような感じで出来ます。

marugori
質問者

お礼

ありがとうございます。 結合した表全体を表別名で指定するのですね。

その他の回答 (2)

  • nora1962
  • ベストアンサー率60% (431/717)
回答No.3

「表B,表Cの値の挿入」ここが少しよく分からない。 結合ならすでに提示されていらっしゃるやり方で。 それとも SELECT * FROM 表B UNION SELECT * FROM 表C を挿入したいのかな?

回答No.1

こんばんは。 できますよ。 on句でsselsect文を書けばいいです・・・。 具体的に質問されていないので、回答も曖昧ですが、ご容赦ください・・・。

関連するQ&A