身份证问题
假如我有一本新表,表A,有姓名和身份证两个关键字段,以前有一个数据非常之多的数据库,文件名是表B,也有姓名和身份证两个关键字段,但身份证号有的是15位有的是18位,现在我想根据身份证去查表A中有但表B中没有的那些人的数据,但如下面的   江育民这种人的身份证18和15位其实都表示同一人,这种人也要剔除,那么我该怎么写这句命令 
 呢? 
 如表A   姓名            身份证号码                                    表B      姓名      身份证号码 
                   毛德卿      35682319770830754X	            陈咯         338924580209009                      
                   江育民      334121197007100617	         毛卓兴      336723197204017717       
                   郑民禄      376823193612217525	         郑民禄      376823193612217525 
                   罗德同      312823192312287519	         江育民      334121700710061 
                   邵德廖      357823195801137515	         吴建刚      330823660401003              
------解决方案--------------------select * from B where not exists (select 1 from A where =left(身份证号码,6)+substring(身份证号码,9,9)=B.身份证号码)