就是得到最新的库存!

解决方案 »

  1.   


    update 商品表 set = 商品库存 - tbl.销售数量
    from
    (
       select 商品编号,sum(销售数量)销售数量
       from 销售记录 group by 商品编号
    )tbl
    where tbl.商品编号 = 商品表.商品编号
      

  2.   


    declare @t table( [商品编号] int , [商品名称] varchar(20) , [商品价格] decimal(10,2) , [商品库存] int)   insert into @t values(2007001,'可乐' ,   2.5 ,100)
       insert into @t values(2007002,'电视机' , 200 ,20)
       insert into @t values(2007003,'冰箱' ,   400 ,10)   declare @t1 table( [商品编号] int , [销售数量] int)
       
       insert into @t1 values(2007001,20)
       insert into @t1 values(2007003,1)
       insert into @t1 values(2007002,2)
       insert into @t1 values(2007002,3)
       insert into @t1 values(2007003,2)
       insert into @t1 values(2007002,1)
       
       select a.[商品编号],a.[商品名称],a.[商品价格],a.[商品库存] - isnull(b.[销售数量],0)  from @t a
       left outer join(select  [商品编号] , sum([销售数量]) as [销售数量] from @t1 group by [商品编号] )b 
       on a.[商品编号]=b.[商品编号]
      

  3.   

    查询最新库存:
    SELECT A.商品编号,A.商品名称,A.商品价格,A.商品库存-B.销售数量
    FROM 商品表 A,
    (
      SELECT 商品编号,SUM(销售数量)
      FROM 销售记录
      GROUP BY 商品编号
    ) B
    WHERE A.商品编号 = B.商品编号