重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

テーブルA
処理日|店番|口座番号|オペコード|消込フラグ
0307|001|0000000|831018|FALSE
0307|002|1111111|832039|FALSE
0307|003|2222222|831401|FALSE

テーブルB
オペ日|口座店番|口座番号|区分|委託者コード
0307|001|0000000|新規|66666
0307|002|1111111|新規|77777
0307|003|2222222|削除|77777

上記のテーブルBで区分が新規かつ委託者コードが66666であればテーブルAのオペコードが831018のレコードを抽出し、処理日とオペ日、店番と口座店番、口座番号と口座番号が一致していればテーブルAの消込フラグをTRUEに更新したいです!
補足
区分が新規かつ委託者コードが77777であればテーブルAのオペコードが832039のレコードを抽出して3つの項目値でマッチングさせると言う形です。

繰り返し処理でやるイメージだと思うのですが分かりません。
サンプルコードいただけると助かります。
よろしくお願いいたします。

質問者からの補足コメント

  • Accessです!

      補足日時:2022/03/09 06:19

A 回答 (1件)

テーブルC


区分|委託者コード|オペコード
新規|66666|831018
新規|77777|832039
削除|77777|831401

クエリ
UPDATE (テーブルA AS A INNER JOIN テーブルC AS C
ON A.[オペコード] = C.[オペコード])
INNER JOIN テーブルB AS B ON (A.口座番号 = B.口座番号)
AND (A.店番 = B.口座店番)
AND (A.処理日 = B.[オペ日])
AND (C.委託者コード = B.委託者コード)
AND (C.区分 = B.区分)
SET A.消込フラグ = Yes;
    • good
    • 0
この回答へのお礼

ありがとうございます!

お礼日時:2022/03/09 11:43

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

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