表a   
id guest_tid home_tid
1    255    266
2    277    288表b
tid    name
255    a  
266    b
277    c
288    d用一个sql对两个表进行查询 显示结果是这样的1     a    b
2     c    d
是不是mysql不能对一个字段进行2次查询 ?要是可以  请写出SQL  

解决方案 »

  1.   

    要是出现你要的那种结果 不可能一次实现
    select b.name from a,b where a.guest_tid=b.tid;
    select b.name from a,b where a.home_tid=b.tid;
      

  2.   

    select a.id,b.name from a,b where a.guest_tid = b.tid or a.home_tid=b.tid;
      

  3.   

    这样写
    SELECT * FROM 表a a, 表b b, 表b c
    where a.guest_tid=b.tid or a.home_tid=c.tid
    having a.guest_tid=b.tid and a.home_tid=c.tid
      

  4.   

    SELECT b.tid, c.tid FROM 表a a
    left join 表b b on a.guest_tid = b.tid
    left join 表b c on a.home_tid = c.tid