tab(rq(日期),je(金額))select nf as 年份,sum(je) as 负的销售额 from 
(select to_char(rq,'yyyy') as nf,je from tab 
where je<0)
group by 年份

解决方案 »

  1.   

    To: jiezhi(浪子)
     能解释一下这句话的意思吗。刚学oracle.
      

  2.   

    tab(order_date,sal,flag)  --(flag  退货:0,销售:1)select trunc(order_date,'mm'),sum(decode(flag,0,sal)) 退货,sum(decode(flag,1,sql)) 销售
    from tab
    group by trunc(order_date,'mm')
      

  3.   

    我的意思是,没有flag(标识)的情况下,怎么把它区分的
      

  4.   

    表结构:
    spid(商品ID),rq(日期),sc(商场),je(金额)
      

  5.   

    To:beckhambobo(beckham)
    你上次写的那个查询是对的。select decode(sign(to_char(日期,'dd')-25),1,trunc(add_months(日期,1),'mm'),trunc(日期,'mm')),商场,sum(销售额) 
    from 表1 
    group by 商场,decode(sign(to_char(日期,'dd')-25),1,trunc(add_months(日期,1),'mm'),trunc(日期,'mm'));
      

  6.   

    to:godofn(筐枉自大)
     我是想查出,不是正常退货的,即没有买货,而直接冲减我是销售的记录,这就会造成我的销售额过少。
      

  7.   

    TO:
     beckhambobo(beckham) 
    在吗。
    帮帮我吧,
    谢谢
      

  8.   

    //帮我看看
    rq(日期),gz(商场),zje(金额)select A.rq, A.gz,A.zje
    from 
          (select decode(sign(to_char(rqsj,'dd')-25),1,trunc(add_months      (rqsj,1),'mm'),trunc(rqsj,'mm')) as rq, 
                  substr( "FUTUREPOS"."XS"."gz",1,2) as gz,
                  "FUTUREPOS"."XS"."XSE" as zje 
            from "FUTUREPOS"."XS")  A
    where ( - A.zje) not in
                       ( select "XSE" from "FUTUREPOS"."XS" where xse>0)没有提示语法错误.就是执行起来速度太慢.
    机子配置:P4 2.4 ,内存1GB,
      

  9.   

    你的sql不符合你的要求。有两次退货 -10,-10,有一次发货 +10,你的sql 把两个-10都灭了?