SQL抽出方法に悩んでいます③
度々ですが、質問させてください。
(TABLE1)
営業所,顧客番号,氏名,郵便番号,住所
1000,000001,田中太郎,100-0001,○○町1-1
1000,000002,山下次郎,100-0004,■■町2-2
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
TABLE2には顧客の累積情報が入っています。
TABLE1には日々更新するデータが入っていますが、
午前中に営業所:1000・顧客番号:000002の山下次郎さんの郵便番号・住所が変更されました。
お昼休みの間にTABLE2への同期を行うのですが、
TABLE1のデータのうち、営業所が1000、顧客番号が000001~099999(先頭がゼロ)のものを絞り出し、
氏名・郵便番号・住所を変更された方には更新するようにします。
(TABLE2)累積:処理後
営業所,顧客番号,氏名,郵便番号,住所
1000,000001,田中太郎,100-0001,○○町1-1
1000,000002,山下次郎,100-0004,■■町2-2
TABLE2(累積:処理後)のような結果を出したいのですが、
どのように構築したらいいのでしょうか。
No.1ベストアンサー
- 回答日時:
UPDATE TABLE2
SET (氏名, 郵便番号, 住所)
= (SELECT 氏名, 郵便番号, 住所 FROM TABLE1
WHERE TABLE1.営業所 = TABLE2.営業所 AND TABLE1.顧客番号 = TABLE2.顧客番号)
WHERE EXISTS(SELECT * FROM TABLE1
WHERE TABLE1.営業所 = TABLE2.営業所 AND TABLE1.顧客番号 = TABLE2.顧客番号
AND (NVL(TABLE1.氏名, '') <> NVL(TABLE2.氏名, '')
OR NVL(TABLE1.郵便番号, '') <> NVL(TABLE2.郵便番号, '')
OR NVL(TABLE1.住所, '') <> NVL(TABLE2.住所, '')))
こちらについてもお礼が遅くなり、申し訳ございませんでした。
内容更新時の処理も、無事にこの例文を参考に作成できました。こういう考え方でしっかりと更新できたので、悩みが解決できました。
また、今回の質問させて頂いた内容について、全てに回答していただきありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
データベースの1要素に複数デー...
-
Access2000 単票フォーム上の...
-
Access IF文でテーブルに存在し...
-
Access 既に開いているフォー...
-
顧客IDを入力すると顧客名や住...
-
Excel 2019 のピボットテーブル...
-
エクセルVBAで5行目からオート...
-
Access テキスト型に対する指定...
-
「直需」の意味を教えてください
-
テーブルの存在チェックについて
-
異なるサーバのDBデータ同士を...
-
変数が選択リストにありません
-
データがある場合のカラムの削除
-
Oracle 2つのDate型の値の差を...
-
SELECT文でLEFT関数を使うと未...
-
デザインビューで、連結式 を...
-
ACCESSのクエリで集計で、先頭...
-
アクセス エラーを数値「0」に...
-
ACCESSでの改行コード
-
Accessのクエリでデータの入力...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access フォームのデータがテー...
-
Access IF文でテーブルに存在し...
-
Access VBAでクエリーのレコー...
-
ワードでの単純作業の効率化に...
-
ACCESS で マクロの中でフィ...
-
データベースの1要素に複数デー...
-
顧客IDを入力すると顧客名や住...
-
Accessで名寄せグループの関係...
-
別のDBからテーブルをコピーす...
-
シングルクォーテーションとダ...
-
Access 縦(行)のデータを横(列)...
-
Accessデータベースで行と列を...
-
ワードで保存するファイル名の...
-
Access 既に開いているフォー...
-
ADOでレコードを閉じるタイミン...
-
Access クロス集計クエリについて
-
ACCESS2003 Aアクロバットを介...
-
Access レコードロックについて...
-
Access2000 単票フォーム上の...
-
ファイルメーカーの集計につい...
おすすめ情報