我的sql语句如下 
select * from t1 where to_char(kf_date,'yyyy-mm') = '2009-09' AND kf_caller NOT IN 
(select kf_caller from t1where to_char(kf_date,'yyyy-mm') = '2009-10' ) 也就是本表查询 查找9月数据没在10月的 

解决方案 »

  1.   

    select * from t1 where to_char(kf_date,'yyyy-mm') = '2009-09' AND kf_caller NOT exists
    (select kf_caller from t1where to_char(kf_date,'yyyy-mm') = '2009-10' ) 
      

  2.   

    ...   1lou  无语
      

  3.   

    in 和 exists在效率是有差异!你可以先试试在说!
      

  4.   

    select aa.kf_caller FROM 
    (select * from t1 a where to_char(kf_date,'yyyy-mm') = '2009-09') AA,
    (select kf_caller from t1 b where to_char(kf_date,'yyyy-mm') = '2009-10' ) BB
    WHERE AA.kf_caller=BB.kf_caller(+) and BB.kf_caller IS NULL