34,593
社区成员
发帖
与我相关
我的任务
分享
update
t1
set
b = b + isnull((select sum(b) from t2 where id = t1.id),0)
from
t1
UPDATE A
SET m.B = m.B + n.B
FROM t1 m
INNER JOIN
(
SELECT ID, A, B=SUM(B) FROM t2 GROUP BY ID, A
) n
ON m.ID = n.ID AND m.A = n.A
----sql语句没有问题呀
update a
set a.b = a.b + sum(b.b)
from t1 a left join t2 b on a.id = b.id
update t1
set t1.b = t1.b+T3.B
from t1,(select A,sum(B) as B from t2 group by A) t3
where T1.A=T3.A
create table t1(ID int,A varchar(10),B int)
insert into t1 values(1 ,'王', 0)
insert into t1 values(2 ,'李', 5)
create table t2(ID int,A varchar(10),B int)
insert into t2 values(1 ,'王', 1)
insert into t2 values(1 ,'王', 2)
insert into t2 values(2 ,'李', 1)
insert into t2 values(2 ,'李', 1)
go
update t1
set b = b + isnull((select sum(b) from t2 where id = t1.id),0)
from t1
select * from t1
drop table t1 , t2
/*
ID A B
----------- ---------- -----------
1 王 3
2 李 7
(所影响的行数为 2 行)
*/
update a
set a.b = a.b + sum(b.b)
from t1 a left join t2 b on a.id = b.id