当前位置: 代码迷 >> Sql Server >> 查询更新 0.0.0.0.0.0.0.0解决方案
  详细解决方案

查询更新 0.0.0.0.0.0.0.0解决方案

热度:85   发布时间:2016-04-24 20:25:32.0
查询更新 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
  相关解决方案