34,593
社区成员
发帖
与我相关
我的任务
分享
create table aa(a1 int,a2 varchar(10),a3 int)
insert into aa select 1,'a',10
insert into aa select 2,'b',10
create table bb(b1 int,b2 varchar(10),b3 int)
insert into bb select 1,'a',3
insert into bb select 1,'a',2
insert into bb select 2,'b',7
update a set a3=a3-b3 from aa a,(select b1,b2,sum(b3) b3 from bb group by b1,b2) b
where a.a1=b.b1 and a.a2=b.b2
select * from aa
a1 a2 a3
----------- ---------- -----------
1 a 5
2 b 3
(所影响的行数为 2 行)
update A set A3=A3-isnull((select sum(B3) from B where B1=A.A1 and B2=A.A2),0)
update a
set a.a3 = a.a3 - isnull( b.b3,0)
from ta a
left join (select b1,b2,sum(b3) as b3 from tb group by b1,b2 ) b
on a.a1 = b.b1 and a.a2 = b.b2