select test.inventorydate,test.avgvolume,test.maxvolum,test.minvolume ,
                         test1.avgvolume,test1.maxvolum,test1.minvolume 
 from  test,test1
where  test.inventorydate>='20040101'
  and  test1.avgvolume=to_char(to_number(test.avgvolume)-000100)2004/10/10 200410 200410 200410 200310 200310 200310
2004/11/11 200411 200411 200411 200311 200311 200311

解决方案 »

  1.   

    好像你在做一个年同期比的表格:做一个视图,test先做group,使每月1条数据,然后自连create or replace view v1 as 
    select a.inventorymonth,a.avg,a.max,a.min,b.avg,b.max,b.min
    from (select to_char(inventorydate,'yyyy/mm') inventorymonth,avg(avg) avg ,avg(max) max ,avg(min) min from test group by to_char(inventorydate,'yyyy/mm')) a

    (select to_char(inventorydate,'yyyy/mm') inventorymonth,avg(avg) avg ,avg(max) max ,avg(min) min from test group by to_char(inventorydate,'yyyy/mm')) b
    where a.inventorymonth=to_char(add_months(to_date(b.inventorymonth,'yyyy/mm'),12),'yyyy/mm')如果需要外联结,自己改一下就行了