有两个表A表,B表A表
下单日期 产品型号 下单数量
2011-09-01 AT001 10
2011-09-05 AT001 20
2011-09-13 AT001 30
2011-09-02 AT002 20
2011-09-13 AT002 30B表
入库日期 产品型号 入库数量
2011-09-11 AT001 12
2011-09-13 AT001 6
2011-09-13 AT002 28需要返回结果:下单日期 产品型号 已下单未入库数量
2011-09-05 AT001 12
2011-09-13 AT001 30
2011-09-13 AT002 22是这样的要求:第一条返回结果中的 12个数值是这样算出来的,先统计入库表(不用管入库日期),统计出来AT001总共是 18个,然后按A表的下单数值比对,相当于2011-09-01的AT001的10个数量已经完成。2011-09-05 的AT001本有20个再减去完成的 8个,剩余12个。2011-09-13的30个还没有完成。 所有显示出来
AT002 产品也是一样,总共入库22个,减去第一个下单20个,剩余8个,2011-09-13 单的30个减去8个,等于22个。条件:1、以下单日期为准的先后顺序
      2、同一个下单日期只会有一个产品编号。目的是:把统计出来的入库数据,减去下单数量,按下单日期顺序,显示出未入库数量的下单明细。

解决方案 »

  1.   


    这种建议用程序或者触发器控制,当B表插入数据时,相应减去总数量,或者在A表中再加个对比字段,方便日后统计
      

  2.   

    这个主要考虑到会出现前面数据有错误的情况,这样当修改前面数据的时候,假如数量有错,那修改后面的那些数据都要变更,这样会比较麻烦。
      

  3.   

    那照你这么说相关程序需要处理的事情都好不用做了
    有得必有失,得失必相等。