日期:2014-05-17  浏览次数:20495 次

查询更新 0.0.0.0.0.0.0.0
表A,B都有字段 pid,value

更新A表value字段,加上B表中pid对应的value字段值


求方法。
sql

------解决方案--------------------

update a表 set value=b.value
from a表
left join b表 on a.pid=b.pid

------解决方案--------------------
不可用left join ,完全匹配用inner join

update a表 set value=b.value
from a表
inner join b表 on a.pid=b.pid

------解决方案--------------------
UPDATE A
SET A.VALUE = a.vlaue + b.value
FROM tableA a
INNER JOIN tableB b
ON a.pid = b.pid

------解决方案--------------------
引用:
现在A与B是一对多的关系,这种方式每次只取了B表的第一次计算,其它行没有计算。

UPDATE A
SET A.VALUE = a.vlaue + b.value
FROM tableA a
INNER JOIN (SELECT pid, value=SUM(value) FROM tableB) b
ON a.pid = b.pid