首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

两表累加时的有关问题

2012-03-28 
两表累加时的问题table1pidnumA1B2table2pidnumA5A6B7我想将table2中的num加到table1中pid相同的对应的num

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

热点排行