2

私は以下のようにtable1を持っています:

Col1    Bal
-------------------
 1       0
 2       0
 3       0
 4       0

Col1 がここでのキーです。

私は以下のようにtable2を持っています:

Col1    Bal    Date
---------------------
 1       5      x
 1       10     y
 1       7      z
 3       8      p
 3       9      m

Col1 は、両方のテーブルの結合列です。

最初のテーブルの bal を 2 番目のテーブルの bal の合計で更新したい。

これに対する sql ステートメントは次のようになります。

update table1 a set a.bal=(select sum(b.bal) from table2) where 

そして私は迷っています!

更新後、table1 は次のようになります。

Col1    Bal
-------------------
 1       22
 2       0
 3       17
 4       0
4

1 に答える 1

1

ドキュメントから、DB2 でテーブル エイリアスを使用できるようです。

update  table1 a 
set     bal = coalesce(
        (
        select  sum(b.bal) 
        from    table2 as b
        where   a.col1 = b.col1
        ), 0)
于 2012-10-13T07:33:00.810 に答える