这是我的思路。语法什么纯粹错误。
UPDATE [wzgl].[dbo].[kc]
   SET [sl] = kc.sl+ck.sl //库存表的数量加上出库表的数量
      ,[zj] = kc.zj+ck.zj //库存表的总价加上出库表的总价
 WHERE kc.pjbh=ck.pjbh //库存表的配件编号等于出库表的配件编号我现在要对库存表进行更新操作。条件就是库存表的配件编号=出库表的配件编号 如果满足条件的话就执行更新操作。更新的话只要更新库存表的数量和总价。数量=库存表的数量+出库表的数量,总价=库存表的总价+出库表的总价。不是单条数据,2张表的数据都很多。

解决方案 »

  1.   


    UPDATE [KC] SET [SL]=[SL]+[CK].[SL],[ZJ]=[ZJ]+[CK].[ZJ]
    INNER JOIN [CK] ON KC.pjbh=CK.pjbh如果出库的表中类型存在重复,需要先GROUP BY哦
      

  2.   

    UPDATE kc
      SET [sl] = kc.sl+ck.sl //库存表的数量加上出库表的数量
      ,[zj] = kc.zj+ck.zj //库存表的总价加上出库表的总价
    from [wzgl].[dbo].[kc] kc join [wzgl].[dbo].[ck] ck on kc.pjbh=ck.pjbh
      

  3.   


    数据量很多的,这样用join 会不会太慢
      

  4.   

    UPDATE [wzgl].[dbo].[kc]
       SET [sl] = [kc].[sl]+[ck].[sl],
           [zj] = [kc].[zj]+[ck].[zj] from kc inner join [ck] on kc.pjbh=ck.pjbh
          GROUP BY [ck].[zj]报错。怎么改法。兄弟们
      

  5.   

    UPDATE kc
    SET [sl] = [kc].[sl]+[ck].[sl]
    ,[zj] = [kc].[zj]+[ck].[zj] 
    from [wzgl].[dbo].[kc] kc inner join (select pjbh,sum([sl]) as [sl],sum([zj]) as [zj] from [ck] group by pjbh) ck on kc.pjbh=ck.pjbh
      

  6.   

    UPDATE [wzgl].[dbo].[kc]
       SET [sl] = [kc].[sl]+[ck].[sl],
           [zj] = [kc].[zj]+[ck].[zj] from kc inner join (select pjgg,sum([sl]),sum([zj]) from [ck]  GROUP BY [pjgg]) on kc.pjbh=ck.pjbh
      

  7.   

    UPDATE [wzgl].[dbo].[kc]
      SET [sl] = [kc].[sl]+[ck].[sl],
      [zj] = [kc].[zj]+[ck].[zj] from kc inner join (select pjgg,sum([sl]),sum([zj]) from [ck] GROUP BY [pjgg])ck on kc.pjbh=ck.pjbh