※ ChatGPTを利用し、要約された質問です(原文:ORACLE UPDATE文の書き方について)
ORACLE UPDATE文の書き方と処理結果について
このQ&Aのポイント
SQLのUPDATEについて教えてください。売上実績の売上日情報を更新する方法を示します。
売上トランの売上区分が”1”の情報を元に、売上実績の売上日情報を更新するSQLの書き方を教えてください。
ORACLE環境がなく、ACCESSではうまく動作しないため、PL/SQLでの正しい処理結果が作成されるかどうか教えてください。
いつもお世話になっています。
SQLのUPDATEについて、教えてください。
(例)
売上実績には、売上日を過去3回前まで保存しており、
売上トランの売上区分が”1”の情報を元に、売上実績の売上日情報を更新しています。
【売上実績】
│店舗│今 回│前 回│前々回│
┼──┼───┼───┼───┼
│A店│12/05 │10/25 │10/01 │
│B店│11/15 │10/18 │09/05 │
│C店│11/30 │10/05 │09/15 │
│D店│12/01 │12/01 │11/01 │
│E店│12/07 │11/07 │10/07 │
│F店│11/18 │10/17 │08/11 │
【売上トラン】
│店舗│売上日│売上区分│
┼──┼───┼────┼
│A店│12/08 │ 1 │ ※繰越対象
│A店│12/08 │ 2 │
│B店│12/08 │ 2 │
│C店│12/08 │ 1 │ ※繰越対象
│D店│12/08 │ 2 │
│F店│12/08 │ 2 │
ーー結果ーー
【売上実績】
│店舗│今 回│前 回│前々回│
┼──┼───┼───┼───┼
│A店│12/08 │12/05 │10/25 │ ※繰り越される
│B店│11/15 │10/18 │09/05 │
│C店│12/08 │11/30 │10/05 │ ※繰り越される
│D店│12/01 │12/01 │11/01 │
│E店│12/07 │11/07 │10/07 │
│F店│11/18 │10/17 │08/11 │
※Keyは”店舗”
UPDATE 売上実績
Set 売上実績.今回 =
(Select 売上トラン.売上日 From 売上トラン
Where 売上トラン.店舗 = 売上実績.店舗 AND 売上トラン.売上区分= 1 ),
前回 = 今回,
前々回 = 前回
Where Exists ( Select 売上トラン.* From 売上トラン
Where 売上トラン.店舗 = 売上実績.店舗
AND 売上トラン.売上区分= 1 )
上記処理をPL/SQLで行いたいのですが、正しい処理結果が作成されるのでしょうか?
よろしくお願いします。
※ORACLE環境がなく、ACCESSではうまく動作しなった為、質問させて頂きました・・・