ms sql2000 中,
表a
id kind total
1 aaa 42
2 bbb 12
3 ccc 31
表b
id kind cishu
1 bbb 3
2 aaa 2
3 bbb 5
4 ccc 4
5 aaa 1
如何写一个SQL语句,将表b的cishu相应加到表a的total中?之后变成:
id kind total
1 aaa 45
2 bbb 20
3 ccc 35
这个语句不对 update a set a.total = a.total + isnull(sum(b.cishu),0) from b where a.kind = b.kind
帮忙改下。或帮忙重新写一个。
------解决思路----------------------
update a set a.total=a.total+
(select isnull(sum(b.total),0)
from b where a.kind=b.kind
group by kind)
------解决思路----------------------
-- 试一下这个,未测试。
update a
set a.total=a.total+ (select sum(b.total) from b where a.kind=b.kind and b.total is not null)
where exists(select * from b where a.kind = b.kind and b.total is not null )
------解决思路----------------------
update a set total=total+
(select isnull(sum(cishu),0)
from b where kind=a.kind
group by kind)