• ベストアンサー

updateでグループ化

番号1ごと金額の合計をグループ化して更新をしたいのですが、 select文で表示することは出来るのですが、追加ができません。 (where 区分が0の区分と1の区分を求める) 「数値項目」に更新するためにはどうすればいいのか ---------------------------------------------- ちなみに累計も求めたいのですがどうしたらよろしいですか? 求めたい累計は 番号1ごとに(区分0 - 区分1)の結果の累計 累計も同様に番号1ごとにグループ化 これを実行するとサブクエリがと出る update W_i set 数値 = ( select 番号1,sum(金額) from T_i where 区分 = '0' group by 番号1

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

  • ベストアンサー
  • hisappy
  • ベストアンサー率46% (184/392)
回答No.2

ひとまず、私の解釈による仕様と うろ覚えのSQLでの回答です。 [仕様] T_i テーブルに格納されているデータを 番号1カラムのグループ毎に小計を求め W_i テーブルの内容を更新する。 [SQL文] なんとなくこんな感じ。 update W_i set 数値 = ( select sum(金額) from T_i where 区分 = '0' group by 番号1 ) where (区分 = '0') and 番号1 = ( select 番号1 from T_i where 区分 = '0' group by 番号1 ); 丸々上書きされてしまうなら Insert 文の方が楽な気もしますが…。

その他の回答 (1)

回答No.1

>追加ができません。 Insert? 正直、この文面ではやりたいことが良くわかりません。 番号,数値 --------- 1, 2 2, 3 ↓ 番号,数値 --------- 1, 0 2, 0 見たいな感じでやりたいことをデータの形で表現した方が伝わると思います。

関連するQ&A