dポイントプレゼントキャンペーン実施中!

SQLの達人、回答よろしくお願いします!
DBMSは、Oracle 10gです。

あるテーブルと、自分自身を含む複数テーブルの結合結果をアップデートしたいです。

以下、テーブルの例です。

販売履歴:HANBAI
年月日時 販売店コード 販売店名 販売部門名 販売商品コード 販売商品名 販売台数
2017/02/20 100 (NULL) (NULL) 001 test1 1
2017/02/21 200 (NULL) (NULL) 002 test2 3

販売店マスタ:TENKA
販売店コード 販売店名 販売部門コード
100 販売店A 1000
200 販売店B 2000

販売部門マスタ:BUMON
販売部門コード 販売部門名
1000 リアル店舗
2000 ネットショップ

とあったときに、最終的には以下の様に更新をかけたいと思います。

販売履歴:HANBAI
年月日時 販売店コード 販売店名 販売部門名 販売商品コード 販売商品名 販売台数
2017/02/20 100 販売店A リアルショップ 001 test1 1
2017/02/21 200 販売店B ネットショップ 002 test2 3

上記のような更新をする場合に、どのようなSQLを発行すれば良いでしょうか?

ご教示よろしくお願いいたします。

A 回答 (1件)

こんなかんじでできませんか?


UPDATE HANBAI
SET 販売店名 = TENKA.販売店名
, 販売部門名 = (SELECT 販売部門名 FROM BUMON WHERE 販売部門コード = TENKA.販売部門コード)
FROM TENKA
WHERE TENKA.販売店コード = HANBAI.販売店コード
;
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す