- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQL2005 ストアドUPDATEについて教えてください。)
SQL2005 ストアドUPDATEの方法とは?
このQ&Aのポイント
- 顧客マスタと売上データの統合方法
- 期間中の顧客ごとの売上金額の合計を更新する方法
- サブクエリで複数の値を扱う際のエラーへの対処法
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
何だか随分混乱があるようですが、書かれたクエリは相関サブクエリになっていません。 相関サブクエリによる更新であれば、以下のようになります。 update 顧客マスタ set 累計金額=(select sum(売上金額) from 売上データ where 売上日付 between '2010/03/01' and '2010/06/30' and 顧客コード=A.顧客コード) from 顧客マスタ as A where exists (select null from 売上データ where 売上日付 between '2010/03/01' and '2010/06/30' 顧客コード=A.顧客コード) でも、私はこのような書き方はしません。 SQL Serverの場合は。相関サブクエリではなく、以下のようにJOIN更新で処理する方が多いと思います。 update 顧客マスタ set 累計金額=B.累計金額 from 顧客マスタ as A inner join (select 顧客コード,sum(売上金額) as 累計金額 from 売上データ where 売上日付 between '2010/03/01' and '2010/06/30' group by 顧客コード) as B on A.顧客コード=B.顧客コード
お礼
教えて頂いた方法で、求めたい数字が出ました。 大変ありがとうございました。