
テーブル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つの項目値でマッチングさせると言う形です。
繰り返し処理でやるイメージだと思うのですが分かりません。
サンプルコードいただけると助かります。
よろしくお願いいたします。
A 回答 (1件)
- 最新から表示
- 回答順に表示

No.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;
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SELECT 文の NULL列は?
-
2つのテーブルで引き算 postgres
-
PostgreSQL 8.0.2 の ERROR: r...
-
テーブルに存在しない列をselec...
-
テーブル定義書作成時のIndex付...
-
SQLでUPSERTを一度に複数行やる...
-
複数テーブルにまたがるmax
-
SQL 同じテーブル構造の複数の...
-
インデックスについて
-
テーブルにcsvファイルをインポ...
-
SQLにて指定日付より前、かつ最...
-
単純なselectが遅くなるのです...
-
VARCHAR型の数値比較
-
SQL*LoaderでCSVから指定した列...
-
SQL、2つのテーブルで条件一致...
-
外部キーだけのテーブル(主キ...
-
「テーブルに座って……」という...
-
一つ前に戻るには…
-
カラム位置変更
-
会社の飲み会の幹事になり、座...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SELECT 文の NULL列は?
-
テーブルに存在しない列をselec...
-
SQLにて指定日付より前、かつ最...
-
SQLでUPSERTを一度に複数行やる...
-
PostgreSQLの断片化の状況を確...
-
単純なselectが遅くなるのです...
-
MS Access から PostgreSQL へ...
-
javaでデータベース上のテーブ...
-
2つのテーブルで引き算 postgres
-
Postgresqlのレポート機能について
-
reindex と update のデッドロック
-
Postgresのデータ領域の拡張に...
-
デットロック回避策(autocommit...
-
テーブルにcsvファイルをインポ...
-
PostgreSQL 8.0.2 の ERROR: r...
-
PostgreSQL レコードからアイテ...
-
同一カラムに複数条件指定
-
備品管理のデータベースについて
-
PostgresSQLでテーブル定義の抽...
-
DISTINCTとGROUP BYの違い
おすすめ情報
Accessです!