现在有三个表a,b,c在a中存有物品的祥细信息,b表为物品入库记录,c表为出库记录,现在要实现每种物品的出入库情况的统计,例如:
a表(物资表):
id,编号,品名,型号,单位,价格
b表(入库表):
id,a_id,数量,金额,日期
c表(出库表)
id,a_id,数量,金额,日期
现在要统计实现如下效果:
编号  品名  型号    单位   价格   日期      入库数,入库金额,出库数,出库金额
001  铁粉  200目   吨     500  2008.1.4   5     2500
001  铁粉  200目   吨     500  2008.1.4                   5     2500
002  轻轨  12KG   吨     2000 
001  铁粉  200目   吨     500  2008.1.5   5     2500   
就是实现每种出库,入库物品的过程情况,相当于把A表中的无有物品在B表和C表中的情况结合到一个视图表中,因为我要统计每个月每种物品的出入库总数,请各位指点,有好的其它解决方案也可以,就是实现每种物品的在特定时间段的统计信息就行,注意不是每种物品的最终数量,是每天出库入库的过程统计           

解决方案 »

  1.   

    select 编号,品名,型号,单位,价格,日期,数量 入库数,金额 入库金额,'' 出库数,'' 出库金额 from a,b where b.a_id=a.id
    union
    select 编号,品名,型号,单位,价格,日期,'' 入库数,'' 入库金额,数量 出库数,金额 出库金额 from a,b where c.a_id=a.id
    先试试
      

  2.   

    select a.编号,a.品名,a.型号,a.单位,a.价格,b.日期,sum(nvl(b.入库数,0)),sum(nvl(b.入库金额,0)),sum(mvl)c.出库数,0),sum(c.出库金额,0)
    from 物资表 a,入库表 b, 出库表 c
    where a.id=b.id(+) and a.id=c.id(+)
    and c.日期=b.日期
    group by a.编号,a.品名,a.型号,a.单位,a.价格,b.日期对你的需求不是太清楚.
    不知道你的日期字段定义的是什么类型,如果是date可以相应的修改下就行了.