select a.money-b.money from (select * from tab where ym=200305) a,(select * from tab where ym=200304) b;

解决方案 »

  1.   

    select b.bb-a.aa from
     (select id id1,money aa from your_table where to_char(ym,'yyyymm')='200304') a,
    (select id,id2,money bb from your_table where to_char(ym,'yyyymm')='200305') b
     where a.id1=b.id2;
      

  2.   

    还要判断钱的差是不是大于某个值?如差在100元以上的?
    select id,差 from 表 where (把以上的代码写入)>100
    有没有理简单的方法
      

  3.   

    select case when (b.bb-a.aa)>100 then when ... end from
     (select id id1,money aa from your_table where to_char(ym,'yyyymm')='200304') a,
    (select id,id2,money bb from your_table where to_char(ym,'yyyymm')='200305') b
     where a.id1=b.id2;
      

  4.   

    如果有好几十万条记录,速度会不会很慢?
    more_zou,如何用一个条件显示多个字段,不会一个条件只显示一个字段吧
      

  5.   

    大于100:
    select b.bb-a.aa zz from
     (select id id1,money aa from your_table where to_char(ym,'yyyymm')='200304') a,
    (select id,id2,money bb from your_table where to_char(ym,'yyyymm')='200305') b
     where a.id1=b.id2 and zz>100 ;