B,C表结构一样如下: select B.* from A,B where A.cardid=B.cardid and A.cardid=? union all select C.* from A,C where A.cardid=C.cardid and A.cardid=? 不一样的话,稍微变下……应该可以实现
有没可能2个表都不存在这个cardid呢?
select a.* from b left outer join a on b.cardid=a.cardid left outer join c left outer join a on c.cardid=a.cardid
上面的写错了。 select a.* from a right outer join b on a.cardid=b.cardid right outer join c on a.cardid=c.cardid
select a.* from a right outer join b on a.cardid=b.cardid right outer join c on a.cardid=c.cardid
create view vw_view as select cardid ,col2,col3 from man union all select cardid ,col2,col3 from car union all select cardid ,col2,col3 from card t where not exists(select 1 from man a where a.cardid=t.cardid) and not exists(select 1 from car a where a.cardid=t.cardid)这样?
select B.* from A,B where A.cardid=B.cardid and A.cardid=?
union all
select C.* from A,C where A.cardid=C.cardid and A.cardid=?
不一样的话,稍微变下……应该可以实现
left outer join c left outer join a on c.cardid=a.cardid
select a.* from a right outer join b on a.cardid=b.cardid
right outer join c on a.cardid=c.cardid
right outer join c on a.cardid=c.cardid
union all
select cardid ,col2,col3 from car
union all
select cardid ,col2,col3 from card t
where not exists(select 1 from man a where a.cardid=t.cardid)
and not exists(select 1 from car a where a.cardid=t.cardid)这样?