其实这个sql不难。
你把 当日入库 当日出库 当月入库 当月出库全部使用sql得到,然后再合并成一个sql即可。

解决方案 »

  1.   

    select 产品名称 cpmc,
    (select 金额 from a where to_char(出入库日期,'yyyymmdd')=to_char(sysdate,'yyyymmdd')
     and upper(出入库标志)='I') drrk,
    (select 金额 from a where to_char(出入库日期,'yyyymmdd')=to_char(sysdate,'yyyymmdd')
     and upper(出入库标志)='O') drck,
    (select 金额 from a where to_char(出入库日期,'yyyymm')=to_char(sysdate,'yyyymm')
     and upper(出入库标志)='I') dyrk,
    (select 金额 from a where to_char(出入库日期,'yyyymm')=to_char(sysdate,'yyyymm')
     and upper(出入库标志)='I') dyck
     from a,b where a.产品编号=b.产品编号;
      

  2.   

    当日入库:
    select 产品编号,sum(数量*金额) from b 
    where 出入库标志='I' 
    and to_char(出入库日期,'yyyymmdd')=to_char(sysdate,'yyyymmdd')
    group by 产品编号
    其他都类似
    然后再根据产品编号关联起来,并关联表a得到产品名称
      

  3.   

    tb1: 产品编号 产品名称 
    tb2: 产品编号 出入库标志 数量 金额    出入库日期select * from (
    select 产品编号,sum(金额I) 当日入库,sum(金额O) 当日出库 from 
      (select 产品编号,decode(出入库标志,'I',金额 金额I,'O',金额 金额O) from tb2 )
    group by 产品编号,trunc(出入库日期,'DD')
    ) a,(
    select 产品编号,sum(金额I) 当月入库,sum(金额O) 当月出库 from 
      (select 产品编号,decode(出入库标志,'I',金额 金额I,'O',金额 金额O) from tb2 )
    group by 产品编号,trunc(出入库日期,'MM')
    ) b
    where a.产品编号=b.产品编号(+);
      

  4.   

    sorry,and upper(出入库标志)='I') dyck  应改为:
    and upper(出入库标志)='O') dyck
      

  5.   

    select 产品名称 cpmc,
    (select sum(金额) from a where to_char(出入库日期,'yyyymmdd')=to_char(sysdate,'yyyymmdd')
     and upper(出入库标志)='I') drrk,
    (select sum(金额) from a where to_char(出入库日期,'yyyymmdd')=to_char(sysdate,'yyyymmdd')
     and upper(出入库标志)='O') drck,
    (select (金额) from a where to_char(出入库日期,'yyyymm')=to_char(sysdate,'yyyymm')
     and upper(出入库标志)='I') dyrk,
    (select (金额) from a where to_char(出入库日期,'yyyymm')=to_char(sysdate,'yyyymm')
     and upper(出入库标志)='O') dyck
     from a,b where a.产品编号=b.产品编号 order by a.产品编号;
      

  6.   

    to jiezhi(西域浪子) 
    请大虾明示,帮帮忙!怎么合并?