日期:2014-05-19  浏览次数:20601 次

看看能不能做到这样的功能
现在有两张表A、B,结构不完全一样,但是有几个字段是一样的,
            A                             B
A1   A2   A3   A4           B1   B2   B3   B4   B5  
我现在想实现这样功能:通过A4与B5关联,也就是说在A表中列A4值在B表中B5列也存在,然后把这样的纪录中表A中的A2列的值修改为A2+B2的值



------解决方案--------------------
不是很明白啊,难道是这样的:
update A set A2=A.A2+B.B2 from A,B where A.A4=B.B5
------解决方案--------------------
没完全说清楚关系

1、如果a4和b5都唯一
update a
set a2=a2+isnull(b2,0)
from a left join b
on a.a4=b.b5

2、如果是1对多,要求汇总
update a
set a2=a2+isnull(b2,0)
from a left join (
select b5,sum(b2) as b2
from b
group by b5
) as b
on a.a4=b.b5


------解决方案--------------------
update a set a2=a2+b.b2 from b b where a4=b.b5
------解决方案--------------------
UPDATE A
SET A2 = A2 + B.B2
FROM A
INNER JOIN B
ON A.A4 = B.B5
------解决方案--------------------
楼上的全面。