好きな人を振り向かせるためにしたこと

SQL抽出方法に悩んでいます②



続けてですが、質問させてください。


(TABLE1)
営業所,顧客番号,氏名,郵便番号,住所
1000,000001,田中太郎,100-0001,○○町1-1
1000,100001,佐藤三郎,100-0003,□□町3-3
2000,000003,村井四郎,200-0001,▽▽町1-1

(TABLE2)累積:処理前
営業所,顧客番号,氏名,郵便番号,住所,変更日,実行フラグ
1000,000001,田中太郎,100-0001,○○町1-1,,
1000,000002,山下次郎,100-0002,△△町2-2,,
1000,100001,佐藤三郎,100-0003,□□町3-3,,
2000,000003,村井四郎,200-0001,▽▽町1-1,,

TABLE2には顧客の累積情報が入っています。
TABLE1には日々更新するデータが入っていますが、
午前中に営業所:1000・顧客番号:000002の山下次郎さんが削除されました。
お昼休みの間にTABLE2への同期を行うのですが、
TABLE1のデータのうち、営業所が1000、顧客番号が000001~099999(先頭がゼロ)のものを絞り出し、
削除された方には実行フラグ(1)と変更日(当日日付)を更新するようにします。

(TABLE2)累積:処理後
営業所,顧客番号,氏名,郵便番号,住所,変更日,実行フラグ
1000,000001,田中太郎,100-0001,○○町1-1,,
1000,000002,山下次郎,100-0002,△△町2-2,20180726,1

TABLE2(累積:処理後)のような結果を出したいのですが、
どのように構築したらいいのでしょうか。

A 回答 (1件)

UPDATE TABLE2


SET 変更日 = TO_CHAR(CURRENT_DATE, 'YYYYMMDD'), 実行フラグ = '1'
WHERE 実行フラグ IS NULL
AND NOT EXISTS(SELECT * FROM TABLE1
WHERE TABLE1.営業所 = TABLE2.営業所 AND TABLE1.顧客番号 = TABLE2.顧客番号)
    • good
    • 2
この回答へのお礼

お礼が遅くなり、申し訳ございません。

よろずやkinchanさんの例文を参考にさせていただき、削除された時の作り方も無事にできました。

回答して頂き、ありがとうございました。

お礼日時:2018/07/30 23:26

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

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


おすすめ情報