有以下表:出入库表:
存货名称  仓库名称  出/入库数量  出入库单价  出入库方向  出入库日期
存货A     仓库A     100          50          入          2012-01-01
存货A     仓库A     50           60          入          2012-01-02
存货A     仓库A     40           80          入          2012-01-03
存货B     仓库A     200          20          入          2012-01-02
存货B     仓库B     120          35          入          2012-01-04
存货A     仓库A     160                      出          2012-01-04
存货A     仓库A     20                       出          2012-01-05存货出库时,不带单价,现要求:
按该存货入库日期检索,先入库的先出,查出出库的是哪些,比如查询存货A的出库,则查出下表:
存货名称  仓库名称  出库数量  出库日期      入库数量  入库单价  入库日期
存货A     仓库A     100       2012-01-04  100       50        2012-01-01
存货A     仓库A     50        2012-01-04  50        60        2012-01-02
存货A     仓库A     10        2012-01-04  10        80        2012-01-03
存货A     仓库A     20        2012-01-05  20        80        2012-01-03
请高手赐教!

解决方案 »

  1.   

    没读明白你的需求啊。
    下面的是实际存在的一个表,还是查询结果存货名称 仓库名称 出库数量 出库日期 入库数量 入库单价 入库日期
    存货A 仓库A 100 2012-01-04 100 50 2012-01-01
    存货A 仓库A 50 2012-01-04 50 60 2012-01-02
    存货A 仓库A 10 2012-01-04 10 80 2012-01-03
    存货A 仓库A 20 2012-01-05 20 80 2012-01-03
      

  2.   

    额,不好意思。。环境:orcale 11g
    数据库中存在以下表结构:
    出入库表:
    存货名称 仓库名称 出/入库数量 出入库单价 出入库方向 出入库日期
    存货A 仓库A 100 50 入 2012-01-01
    存货A 仓库A 50 60 入 2012-01-02
    存货A 仓库A 40 80 入 2012-01-03
    存货B 仓库A 200 20 入 2012-01-02
    存货B 仓库B 120 35 入 2012-01-04
    存货A 仓库A 160 出 2012-01-04
    存货A 仓库A 20 出 2012-01-05需求:
    现客户要求,查询某存货的出库,按该存货入库时的先后顺序,进行出库,并得到该存货的入库单价,先入库的先出,数量不足的依次向下查询,列出对应的入库单价,以便计算入库时的成本单价
    比如,上表中,1月4号出的存货A,数量为160,其组成应是:1月1号入的100,单价是50,1月2号入的40,单价是60,1月3号出的10(原入库40,但只要10个),单价是80,加起来正好是160
    1月5号出的存货A,数量为20,其组成应是:1月3号出的20(原入库40,4号出库时已用去10,剩30,这里只要20),单价是80
    查询结果:
    存货名称 仓库名称 出库数量 出库日期 入库数量 入库单价 入库日期
    存货A 仓库A 100 2012-01-04 100 50 2012-01-01
    存货A 仓库A 50 2012-01-04 50 60 2012-01-02
    存货A 仓库A 10 2012-01-04 10 80 2012-01-03
    存货A 仓库A 20 2012-01-05 20 80 2012-01-03