使用其他表中的数据更新第一个表中列的总和

时间:2012-10-13 07:30:42

标签: sql db2

我的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是两个表中的连接列。

我想用第2表中的bal的总和更新第一张表中的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

1 个答案:

答案 0 :(得分:1)

documentation开始,看起来你可以在DB2中使用表别名:

update  table1 a 
set     bal = coalesce(
        (
        select  sum(b.bal) 
        from    table2 as b
        where   a.col1 = b.col1
        ), 0)