一个数据表,其表结构为:  
SQL>  desc  temp1;  
Name      Type                  Nullable  Default  Comments                    
------  ------------  --------  -------  ----------------    
AAC001  VARCHAR2(14)                                    编号
AAC002  VARCHAR2(14)                                    姓名
AAC003  VARCHAR2(6)                                     缴费日期                
AAC004  NUMBER(8,2)    Y                                缴费基数    
AAC005  NUMBER(8,2)    Y                                缴费金额  1、这个表里的数据有点问题,数据量很大。现在如何查询出AAC001相同,但AAC002不同的全部数据项出来。
2、如何查询对于每一个AAC001项的AAC003的行数。或者说是对于每一个编号AAC001来说它有几个缴费日期AAC003。

解决方案 »

  1.   

    1、select * from temp1 a where exists(select 1 from temp b where b.AAC001=a.AAC001 and b.AAC002<>a.AAC002) 
    2、select AAC001,count(1) from temp1 group by AAC001
      

  2.   

    1:若AAC001 是唯一标识的select * from temp1 where AAC001 <>AAC002
      

  3.   

    2.select AAC001,count(AAC003) from temp1 group by AAC001或
    select AAC001,count(1) from temp1 group by AAC001
      

  4.   

    更正!.1:
    select * from temp1 a,temp2 b where a.AAC001=b.AAC001 and a.AAC002<>b.AAC002
      

  5.   

    是一个表temp1,不是两个表temp1,temp2。不过也多谢你的解答。