在SQL server2000中的一个数据库里有两个表:表一和表二
表一  
编号  总分
c001  
c002  
c003  
  
表二    
序号 编号 得分1 得分2
1   c001  2   2
2   c002  3   3
3   c003  1   2
4   c001  5   3
5   c003  4   4
6   c002  6   1
我想让表二中的数据汇总好后填入到表一中去,应该如何实现呀?
update 表一 set 总分=(sum(得分1)+sum(得分2) from 表二 where 表一.编号=表二.编号)) 

解决方案 »

  1.   

    update 表一 
    set 总分 = isnull((select sum(得分1+得分2) from 表二 where 表二.编号 = 表一.编号),0)
    from 表一
      

  2.   

    update 表一 set 总分=sum(得分1)+sum(得分2) from 表二 where 表一.编号=表二.编号 group by  表一.编号
      

  3.   

    分开理解:update 表一 set 
      总分 = b.总分 -- 更新
    from 表一 a
    join ( -- 统计
      select
         编号
        ,总分=isnull(sum(得分1),0)+isnull(sum(得分2),0) 
      from 表二
      group by 编号) b on b.编号=a.编号
      

  4.   


    update a set 总分=(select sum(isnull(得分1,0))+sum(isnull(得分2,0)) 
    from 表二 where a.编号=b.编号) from  表一 a