where里面的条件包括1到3月份。
然后取3月的时候使用decode。
如其中一列可写成
to_char(sum(decode(to_char(register_date,'yyyymm'),'200503',all_money,0)))另外如果真的是要取本月,就用to_char(sysdate,'yyyymm')代替上面的'200503'

解决方案 »

  1.   

    我认为你想主要解决的问题是当月合计和1-3月份总合计怎么同时显示的问题,这里其他的字段我就不做处理了,只对这两个字段select:
    select a.product1 '规格型号', to_char(sum(a.money1)) '当月合计',to_char(sum(b.money2)) '1-3月份总合计'
    from
    (select product_spec product1,tax_back_money money1 from view_yb_orderpro where trunc(sysdate,'mm')=trunc(register_date,'mm')) a,
    (select product_spec product2,tax_back_money money1 from view_yb_orderpro where to_char(register_date,'yyyy-mm-dd') between '2005-01-01' and  '2005-03-31') b
    where a.product1 = b.product2
    group by a.product1其他字段的显示原理是相同的,你只要看明白这个就没有问题了
      

  2.   

    不好意思,出现点错误:
    select a.product1 '规格型号', a.money1 '当月合计',b.money2 '1-3月份总合计'
    from
    (select min(product_spec) product1,sum(tax_back_money) money1 from view_yb_orderpro where trunc(sysdate,'mm')=trunc(register_date,'mm')) a,
    (select min(product_spec) product2,sum(tax_back_money) money1 from view_yb_orderpro where to_char(register_date,'yyyy-mm-dd') between '2005-01-01' and  '2005-03-31') b
    where a.product1 = b.product2
    group by a.product1,a.money1 ,b.money2