现在有两张表BOCO_HLR_GTT ,CUST_HLR_GTT ;
我想比较出两张表中START_GT 字段相同,但其他字段不同的数据.
我的SQL如下,但不对.麻烦大家帮我看看了.sql = "select * from BOCO_HLR_GTT where not exists (select * from CUST_HLR_GTT where BOCO_HLR_GTT.START_GT = CUST_HLR_GTT.START_GT and BOCO_HLR_GTT.CITY_NAME = CUST_HLR_GTT.CITY and BOCO_HLR_GTT.HLR_NAME = CUST_HLR_GTT.HLR_NAME) ";

解决方案 »

  1.   

    select a.*,b.* from BOCO_HLR_GTT a,CUST_HLR_GTT b where a.START_GT = b.START_GT
      

  2.   

    select 
    a.*
    ,b.* 
    from 
    BOCO_HLR_GTT a
    ,CUST_HLR_GTT b 
    where 
    a.START_GT = b.START_GT 
    and a.CITY_NAME != b.CITY 
    and a.HLR_NAME! = b.HLR_NAME
      

  3.   

    弄个格式好看的select 
              a.*
              ,b.* 
    from 
              BOCO_HLR_GTT a
              ,CUST_HLR_GTT b 
    where 
              a.START_GT = b.START_GT 
              and a.CITY_NAME != b.CITY 
              and a.HLR_NAME! = b.HLR_NAME
      

  4.   

    select * from BOCO_HLR_GTT a ,CUST_HLR_GTT b  
    where a.START_GT = b.START_GT  
    and a.CITY_NAME != b.CITY  
    and a.HLR_NAME! = b.HLR_NAME
      

  5.   

    不对啊.  不能用and,那是同时满足的条件. 要用或者,or怎么用的
      

  6.   

    select * from BOCO_HLR_GTT a ,CUST_HLR_GTT b  
    where (a.START_GT = b.START_GT  
    and a.CITY_NAME = b.CITY  
    and a.HLR_NAME! = b.HLR_NAME) 
    or(a.START_GT = b.START_GT  
    and a.CITY_NAME! = b.CITY  
    and a.HLR_NAME = b.HLR_NAME);
    那这样可以了
      

  7.   


    select * from BOCO_HLR_GTT a ,CUST_HLR_GTT b   
    where a.START_GT = b.START_GT   
    and 
    (
    a.HLR_NAME! = b.HLR_NAME  
    or
    a.CITY_NAME! = b.CITY   
    ); 如果很多的话就用一个存储过程吧
      

  8.   

    用inner join:
    select * from BOCO_HLR_GTT a
    inner join CUST_HLR_GTT b
    on a.START_GT=b.START_GT