UPDATE Store 
SET number = a.number + b.number, weizhi = b.weizhi 
FROM Store a JOIN 
      select goods_bianhao,sum(number) as number,max(weizhi ) as weizhi
      from In_mingxi 
      WHERE id IN (56, 57)
      group by goods_bianhao ) b ON a.Goods_bianhao = b.Goods_bianhao 
 

解决方案 »

  1.   


    UPDATE Store 
    SET number = a.number + b.number, weizhi = b.weizhi 
    FROM Store a 
    JOIN (SELECT Goods_bianhao,weizhi,SUM(b.number) as number,weizhi 
          FROM In_mingxi 
          WHERE id IN (56, 57) 
          GROUP BY Goods_bianhao,weizhi
         ) b ON a.Goods_bianhao = b.Goods_bianhao 
      

  2.   

    完整的触发器代码是:
    CREATE TRIGGER changestate ON dbo.In_Goods
    after update 
    as
    update Store set number=a.number+b.number,weizhi=b.weizhi
     from Store a right outer  join In_mingxi b on a.Goods_bianhao=b.Goods_bianhao
     where b.id in(
        select id from In_mingxi where In_no in (
            select id from inserted where zhuangtai='已审核' and exists (select 1 from deleted where id=inserted.id and zhuangtai='未审核')
        )
    )
    怎么改?入库单状态改变为已审核,明细表里有两个相同物料,怎样连续加上数量
      

  3.   

    UPDATE Store 
    SET number = a.number + b.number, weizhi = b.weizhi 
    FROM Store a JOIN 
          (select goods_bianhao,sum(number) as number,max(weizhi ) as weizhi 
          from In_mingxi 
          WHERE id IN (56, 57) 
          group by goods_bianhao ) b ON a.Goods_bianhao = b.Goods_bianhao