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
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
from a
join
(
select b.* , 1 as issite from b
union
select c.* , 0 from c
) as t
on a.userno = t.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
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
^_^