• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQL2005 ストアドUPDATEについて教えてください。)

SQL2005 ストアドUPDATEの方法とは?

このQ&Aのポイント
  • 顧客マスタと売上データの統合方法
  • 期間中の顧客ごとの売上金額の合計を更新する方法
  • サブクエリで複数の値を扱う際のエラーへの対処法

質問者が選んだベストアンサー

  • ベストアンサー
  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.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.顧客コード

kirin4247
質問者

お礼

教えて頂いた方法で、求めたい数字が出ました。 大変ありがとうございました。