当前位置: 代码迷 >> Sql Server >> 求SQL语句:两表关联,求和更新解决方法
  详细解决方案

求SQL语句:两表关联,求和更新解决方法

热度:65   发布时间:2016-04-24 09:26:46.0
求SQL语句:两表关联,求和更新

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)
  相关解决方案