以下、記憶がかなりあいまい。
SQL SERVER のUPDATE文で設定する値にSELECT文が使えるけど、SETに計算式は使えないらしい。
しかしMSDNを見ると・・・
expressionはあちこちに書いてあるけど、SELECTなんて書いてなかった。 orz
ま、ゴチャゴチャに補正値が入っているテーブルから系統ごとに補正値をまとめて加算するんだけど
データが多すぎるから、SQLでパパッとやってみたかった!だけなんだけどね。(笑
UPDATE 更新テーブル
SET 系統計1フィールド1 += WHEN CASE 集計キー = 1 THEN 計算式1 ELSE 0 END
,系統計2フィールド1 += WHEN CASE 集計キー = 2 THEN 計算式2 ELSE 0 END
FROM 更新テーブル INNER JOIN
(SELECT 補正値テーブル名.キー,集計式 FROM 補正値テーブル名
GROUP BY 補正値テーブル名.集計キー・・・) 補正値 ON 更新テーブル.キー=補正値.キー
WHERE 更新テーブル.対象時刻=XXXXX
のように書けば、計算式1で
SUM(補正値.フィールド1名) – SUM(補正値.フィールド2名)
も使えるのかもしれない。
でも、素直にカーソル使ってループした方がマシかな?(笑
※まだ調査中。