我做的是一个药品的进销存管理软件``有进货表、出货表、库存表
如何实现这样的功能``在进货、出货时都是有时间的```这样如何实现库存表的不断变化啊?
例如:进货表: 货名XXX  数量10   进货日期  2007年1月10日
               货名XXX  数量20   进货日期  2007年2月15日
               货名XXX  数量30   进货日期  2007年3月18日
               货名YYY  数量20   进货日期  2007年2月15日
               货名ZZZ  数量20   进货日期  2007年2月15日      出货表: 货名XXX  数量5    出货日期  2007年1月18日
               货名XXX  数量15   出货日期  2007年2月16日
               货名XXX  数量30   出货日期  2007年3月18日
               货名YYY  数量8    出货日期  2007年2月18日
               货名ZZZ  数量20   出货日期  2007年2月26日
如何能实现最后的库存表结果为:
      库存表: 货名XXX  数量10   进货日期  2007年3月18日
               货名YYY  数量12   进货日期  2007年2月15日不晓得在vb +sql 环境中能否使用游标~~~要用的话怎么用?

解决方案 »

  1.   

    ---try
    select a.货名,a.入数量-b.出数量 as 数量,a.进货日期 from (select 货名,sum(数量) as 入数量,max(进货日期) as  进货日期 from 进货表) a,(select 货名,sum(数量) as 出数量 from 出货表)  b where a.货名=b.货名
      

  2.   

    select a.货名,a.入数量-b.出数量 as 数量,a.进货日期 from (select 货名,sum(数量) as 入数量,max(进货日期) as  进货日期 from 进货表 group by 货名) a,(select 货名,sum(数量) as 出数量 from 出货表 group by 货名)  b where a.货名=b.货名
      

  3.   

    我有两条要说的:
    1.实现库存表的不断变化
      可以用触发器,每当向入货表或者出货表插入记录的时候,触发触发器,然后触发器里面的代码做修改库存的操作。(触发器可以在数据库里面写)
      或者是不用触发器,直接在程序里面写,当向入货表或者出货表插入记录之后,再写一句修改库存的sql语句,执行一下就行了
    2.注意这个库应该有先进的货先出货的这个约定
      比如某个货先进了10个,10号进的,又进了10个20号进的,在入货表就应该存这两条记录了,库存表里面也应该有这两条记录,因为这两个的日期是不一样的
      然后卖了5个 出货表就应该有一条卖了5个的记录,这时候库存表应该有2条这个货的记录,日期早的变成5个,日期晚的还是10个;
      然后如果又卖了10个,出货表应该加一条10个的记录,库存表应该先卖日期早的那个的5个,再买日期晚的那个的5个,这时候库存剩5个,是后进的日期的