Oracle SQL で複数テーブルを用いた更新がうまくいかず、悩んでおります。
最終的に下記【理想形】にしたいのですが、いろいろと試してうまく行かないので、
知恵をお分けいただけないでしょうか。
以下にイメージを載せます。
以下のような2つのテーブルを用いて、テーブルIを更新します。
(なお、テーブルIとIIのテーブル定義は全く同じです。)
TABLE I
KEY1 | KEY2 | COL1 |
---|---|---|
A | B | 111 |
C | D |
TABLE II
KEY1 | KEY2 | COL1 |
---|---|---|
C | D | 222 |
【理想形】
TABLE I
KEY1 | KEY2 | COL1 |
---|---|---|
A | B | 111 |
C | D | 222 |
要はTABLE I にあるキーと TABLE II にあるキーが
同じものは、属性値を更新する、ということをしたいです。
以下のようなSQLを試したのですが・・・
UPDATE I SET(I.COL1 = (
SELECT II.COL1 FROM II
WHERE
I.KEY1 = II.KEY1 AND
I.KEY2 = II.KEY2
);
TABLE I
KEY1 | KEY2 | COL1 |
---|---|---|
A | B | |
C | D | 222 |
のようになってしまい、うまくいきませんでした。
他にもいろいろ試して見たのですが、かなりの時間悩んでしまったため、
質問させていただきました。
どうぞよろしくおねがいします。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/22 03:14
2018/08/22 03:25
2018/08/22 04:03