我的一个表是一个库存表叫stock,字段有商品id,数量等 还有一个表叫销售明细表叫sale,字段有商品id,价格,厂商,日期等
表stock内容如下:表sale内容如下:
Goods_id   number          Goods_id   price  sale_time
1          5                 1        10     2004-11-03
2          15                2        15     2004-11-03
3          5                 4        20     2004-11-03
4          8                 5        12     2004-11-03 
5          10                6        18     2004-11-03
6          121               2        15     2004-11-03
                             1        10     2004-11-03
库存表商品1数量还有5个,2还有15个依次类推,
商品表在2004年11月3日商品1卖了2件,商品2卖了2件,商品4卖了一件,商品5卖了一件,商品6卖了一件,
今天是2004年11月4日,
我想做一个统计,统计我的库存的每件商品的数量,还有前一天的销售数量
显示在一张表格里,我就是有一点不清楚 ,怎么写啊,谢谢帮忙

解决方案 »

  1.   

    select stock.number-a.出货量 as 剩余量 from stock,(select sale.goods_id,count(sale.goods_id) as 出货量 from sale group by sale.goods_id) as a 
    where a.goods_id=stock.goods_id我这里没有数据,你试试..
      

  2.   

    试一下这样可以吗?没有测试,思路是行的
    select S.Goods_id as 库存商品, S.number as 库存数量,isnull(xs.number,0)as 前一天销售数量 from stock S left  join (select Goods_id,sale_time,count(*) as number from sale group by Goods_id,sale_time having datediff(dy,sale_time,getdate())=1) xs on s.Goods_id =xs.Goods_id
      

  3.   

    觉得比较奇怪,你的stock表不是实时更新的吗?
    stock表表示的是什么时候的库存?