本帖最后由 jesons 于 2009-07-13 14:51:05 编辑

解决方案 »

  1.   

    还是left join:update fp set 总金额 = tmp.金额 from ( 
      select a.bh,isnull(b.金额,0) as 金额
      from fp a
      left join (
        select bh,sum(金额) as 金额 from mx group by bh
      ) b on a.bh=b.bh
    ) as tmp on tmp.bh = fp.bh 
      

  2.   

    似乎对表fp执行2此操作了。先left join 产生一个临时表,再更新fp这是【唯一最佳】的答案吗??
      

  3.   

    或者,胆子大一点:
    事务开始
    先把fp表的总金额全清零,再执行你的sql
    事务结束