1.select table1.name from table1 left join table2 on table1.name=table2.name where table2.name is not null
2.select table1.name from table1 left join table2 on table1.name=table2.name where table2.name is null

解决方案 »

  1.   

    请问,如果我的Table2是一个已打开的TQuery该怎么办??
      

  2.   

    在where中比较姓名字段相等或不等
      

  3.   

    to lhz_wxt:
    什么意思,难道你要循环去查找tquery里有没有符合的记录呀。这样效率太低了
    关掉打开的query,重新建一个
    query1.close;
    query1.sql.clear;
    query1.sql.add(SQL语句);
    query1.open;
      

  4.   

    两句都加distinct
    select distinct table1.name .....
      

  5.   

    to tommyChin:
        我说的是第二个表不是固定的数据库表,而是我已经打开的一个查询,在SQL中如何使用已打开的表或查询呢?就是固定表,查出的结果也有重复,怎样才能去掉重复??
      

  6.   

    那你的query的sql是什么呢,如果是打开的query,那么很难不用循环的方法来得到结果,至于固定表,我已经回答了,加distinct就可以了