1、select * from accntab a where a.guideDate='2009-04-27'; 有10条记录2、select * from accntabadd b; 有1条记录 并且这条记录的某些字段包含在a表中!现在我要做的是在a表中查询出剩下的9条记录!我用以下的语句查询,得到了0条记录:select a.cnum, a.acod, a.brca, a.ccy, a.acsq, a.acno
from accntab a
where not exists(select b.cnum, b.acod, b.brca, b.ccy, b.acsq, b.acno
from accntabadd b, accntab a
where a.acod = b.acod and a.brca = b.brca and a.ccy = b.ccy and a.acsq = b.acsq and a.acno = b.acno and a.guidedate='2009-04-27')请高手帮忙看看问题出在哪里?

解决方案 »

  1.   

    select a.cnum, a.acod, a.brca, a.ccy, a.acsq, a.acno 
    from accntab a 
    where not exists
      (select b.cnum, b.acod, b.brca, b.ccy, b.acsq, b.acno 
       from accntabadd b 
       where a.acod = b.acod 
         and a.brca = b.brca 
         and a.ccy = b.ccy 
         and a.acsq = b.acsq 
         and a.acno = b.acno 
         and a.guidedate='2009-04-27') 
      

  2.   

    select 
      a.cnum, a.acod, a.brca, a.ccy, a.acsq, a.acno 
    from 
      accntab a 
    where 
      not exists(select 1
                 from accntabadd b 
                 where a.acod = b.acod 
                 and a.brca = b.brca 
                 and a.ccy = b.ccy 
                 and a.acsq = b.acsq 
                 and a.acno = b.acno
                 ) 
    and
      a.guidedate='2009-04-27'