A表
user mny
001 100
002 20B表user SumMNY
001 10
002 0
003 0用一条update语句完成A表的数据更新B表的数据
完成结果如下B表
user SumMNY
001 110
002 20
003 0
user mny
001 100
002 20B表user SumMNY
001 10
002 0
003 0用一条update语句完成A表的数据更新B表的数据
完成结果如下B表
user SumMNY
001 110
002 20
003 0
SQL> select * from eric3
2 / USERS MNY
---------- ----------
1 100
2 20SQL> select * from eric4
2 / USERS SUMMNY
---------- ----------
3 0
2 0
1 10SQL> update eric4 b set SumMNY=nvl(SumMNY+(select mny from eric3 a where a.users=b.users), 0)
2 /3 rows updated.SQL> select * from eric4
2 / USERS SUMMNY
---------- ----------
3 0
2 20
1 110SQL>
可能是因为b中的user与a中的user是一对多关系update b set summny = nvl(summny + (select nvl(sum(mny),0) from a where user=b.user group by user),summny)
update eric4 b set SumMNY=SumMNY+nvl((select mny from eric3 a where a.users=b.users), 0)才对,到现在心还跳的厉害呢