把你需要需要统计得出的字段写成关于物品编码的数据库程序,假如获取入库数的程序名称为 Recordcount(itemcode),那么sql语句写为 select itemname,Recordcount(itemcode) as recordcount ..............,还可以直接做成视图

解决方案 »

  1.   

    小弟初学,写的一段程序不知是否符合要求declare
    v_num1 number;
    v_num2 number;
    v_num3 number;
    v_numlast number;
    begin
    select a.num1,b.num2,c.num3 
    into v_num1,v_num2,v_num3 from
    ta a,tb b,tc c
    where a.code=b.code and b.code=c.code and c.code = a.code;
    v_numlast=计算v_num1,v_num2,v_num3;
    end
      

  2.   

    select a.物品编码,c.本月出库数,b.本月入库数,a.库存数量,(上期数量的计算表达式) as 上期数量
    from 库存表 a,
    (select 物品编码,sum(采购数量) as 本月入库数 from 采购表 order by 物品编码 ) b,
    (select 物品编码,sum(销售数量) as 本月出库数 form 销售表 order by 物品编码 ) c 
    where a.物品编码=b.物品编码 and a.物品编码=c.物品编码我是新手,写一个供参考
    上期数量不知公式
    暂时设采购表和销售表只存一个月的信息,如不是,在表b,c中加上where限制就可以了
      

  3.   

    select a.物品编码,c.本月出库数,b.本月入库数,
    sum(a.库存数量+b.本月入库数-c.本月出库数) as 库存数量
    from 库存表 a,
    (select 物品编码,sum(采购数量) as 本月入库数 from 采购表 group by 物品编码) b,
    (select 物品编码,sum(销售数量) as 本月出库数 from 销售表 group by 物品编码) c 
    where a.物品编码=b.物品编码 and a.物品编码=c.物品编码
    group by a.物品编码,c.本月出库数,b.本月入库数
      

  4.   

    写错了,不是order by 物品编码,而是group by 物品编码。原谅!原谅!原谅!
      

  5.   

    我也是初学, Simple945(Simple945)  和: hero1981(英雄) 的写法我也曾试过,似乎编译不过。
      

  6.   

    试试这个行不行:select a.物品编码,a.库存数量+NewB.入库数量-NewC.出库数量  上期数量,NewB.入库数量,NewC.出库数量, a.库存数量
      from 库存表 a,( select b.物品编码,sub(b.采购数量) 入库数量 
                       from 采购表 b
                       where b.采购日期 >= trunc(SYSDATE,'MONTH') 
                             and b.采购日期 <= last_day(sysdate) 
                       group by b.物品编码 ) NewB,
                    (select c.物品编码,sub(c.销售数量) 出库数量
                       from 销售表 c
                       where c.销售日期 >= trunc(SYSDATE,'MONTH')
                          and c.销售日期 <= last_day(sysdate) 
                       group by c.物品编码 ) NewC
      where a.物品编码=b.物品编码(+) and a.物品编码=c.物品编码(+)
      

  7.   

    哦,上面最后一句错了,应该是:
        where a.物品编码=NewB.物品编码(+) and a.物品编码=NewC.物品编码(+)
      

  8.   

    完整的就是:
    select a.物品编码,a.库存数量+NewB.入库数量-NewC.出库数量  上期数量,NewB.入库数量,NewC.出库数量, a.库存数量
      from 库存表 a,( select b.物品编码,sub(b.采购数量) 入库数量 
                       from 采购表 b
                       where b.采购日期 >= trunc(SYSDATE,'MONTH') 
                             and b.采购日期 <= last_day(sysdate) 
                       group by b.物品编码 ) NewB,
                    (select c.物品编码,sub(c.销售数量) 出库数量
                       from 销售表 c
                       where c.销售日期 >= trunc(SYSDATE,'MONTH')
                          and c.销售日期 <= last_day(sysdate) 
                       group by c.物品编码 ) NewC
      where a.物品编码=NewB.物品编码(+) and a.物品编码=NewC.物品编码(+)