现有表 input_table,output_table 分别包含入库和出库信息
input_table 中包含 物资代码,入库日期,入库数量,库存数量
output_table 中包含 物资代码,出库日期,出库数量现要求某一条物资(可根据物资代码指定)的出入库流水帐。
要求得到的格式如下(数据为模拟):出入库日期    收入数量   发出数量  结存数量
2008-01-01  4.00              4.00
2008-01-20            3.00    1.00
2008-01-22  2.00              3.00
 月合计      6.00       3.00    3.00
 年累计      6.00       3.00    3.002008-02-06              1.00    2.00
2008-02-10  3.00               5.00
 月合计      3.00       1.00    5.00
 年累计      9.00       4.00    5.00难点应该在月合计和年累计了,大家帮忙想想办法哦。
多谢了!

解决方案 »

  1.   

    select sum(收入数量),sum(发出数量),sum(结存数量)
    from 入库表 group by to_char(入库日期,'yyyy')其他类似
      

  2.   

    select sum(收入数量),sum(发出数量),sum(结存数量) 
    from 入库表 group by to_char(入库日期,'yyyy-mm') 
      

  3.   

    lz的问题考虑一下oracle中cube函数,应该可以解决。
      

  4.   

    DECLARE
    out_data output_table 出库日期%TYPE,
    input_data input_table 入库日期%TYPE,
    sum_num number,
    结存数量 number,
    收入合计 number,
    发出合计 number,
    结存合计 number
    BEGIN
    select 入库日期,出库日期,sum(入库数量),sum(出库数量),库存数量
    INTO out_data,input_data,收入合计,发出合计,sum_num
    FROM input_table i,output_table o WHERE i.物资代码=o.物资代码;结存合计:=收合入计+sum_num-发出合计;END;
      

  5.   

    我想用个存储过程 还加个临时表之类的 就应该很好处理了;最后把临时表的数据查出来就可以了 
    不过楼主用的oracle就不是清楚。oracle用 的 少;
      

  6.   

    select sum(收入数量),sum(发出数量),
    sum(结存数量) from 入库表
    group by to_char(入库日期,'yyyy-mm') 
      

  7.   

    select sum(收入数量),sum(发出数量),sum(结存数量) 
    from 入库表 group by to_char(入库日期,'yyyy-mm') 应该是这个吧??标准的SQL语句都是这样的 不分数据库