两表累加时的问题
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