两表累加时的问题

来源:互联网 发布:网络推广公司哪个好 编辑:程序博客网 时间:2024/05/16 10:12

table1
pid num
A   1
B   2

table2
pid num
A   5
A   6
B   7

我想将table2中的num加到table1中pid相同的对应的num中
使用如下语句

update table1
set table1.num =table1.num + table2.num
from table1,table2
where table1.pid = table2.pid

但是我发觉对于table2中的相同的pid,累加的时候只能累加一条记录的num,或者是table2中的第一条,或者是第二条,不能2条都累加。

我不知道为什么会产生这种情况,各位有什么方法吗?
Update A
Set A.num = A.num + B.num
From
table1 A
Inner Join
(Select pid, SUM(num) As num From table2 Group By pid) B
On A.pid = B.pid