table       a   ,b a表中id,   a,   b     c
          1     张     女     
          ..... 
b表中a_id(外键),   d,   e,   f 
            1     11   22   33 
            1     44   55   66 
            1     77   88   99 
            ..... 
select   a.*   from   a   left   join   b   on   a.id=b.a_id   where   a.id=1 
这样查出来是 
1     张     女 
1     张     女 
1     张     女 
三条一样的数据,,怎么查出来是一条啊,能用别的连接right实现吗?? 

解决方案 »

  1.   

    select       a.*       from       a       left       join    (select distinct id from b) b  on       a.id=b.a_id       where       a.id=1   
      

  2.   

    select       a.*       from       a       left       join    (select distinct a_id from b) b  on       a.id=b.a_id       where       a.id=1   
      

  3.   

    试试:
    select   distinct    a.*       from       a       left       join       b       on       a.id=b.a_id       where       a.id=1