select b.*,a. issite
from a,b
where a.issite=1 and a.userno=b.userno
union all
select c.*,a. issite
from a,c
where a.issite=0 and a.userno=c.userno

解决方案 »

  1.   

    谢谢 Haiwer(海阔天空)  能不能用一句sql读出所有会员,包括本站与非本站的会员。
      

  2.   

    select * 
    from a
    join
    (
     select b.* , 1 as issite from b
     union 
     select c.* , 0 from c
    ) as t
    on a.userno = t.userno
      

  3.   

    select a.id,a.userno,
    tel=(case issite when 1 then b.tel when 0 then c.tel end),
    fax=(case issite when 1 then b.fax when 0 then c.fax end)
    from a 
    left join b on a.userno=b.userno
    left join c on a.userno=c.userno
      

  4.   

    itblog(i like i do) 正解
      

  5.   

    select * 
    from a
    join
    (
     select b.* , 1 as issite from b
     union 
     select c.* , 0 from c
    ) as t
    on a.userno = t.userno
    and a.issite = t.issite
    ^_^
      

  6.   

    谢谢朋友们 问题已解决~~~刚来CSDN 分少请大家凉解。