2

我有如下表1:

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

Col1 是这里的关键。

我有如下表2:

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

Col1 是两个表中的连接列。

我想用第二个表中的 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
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 回答