A 表卡信息表 cardid 为主键
B 表人员表 关联A表的 cardid
C 表车辆表 也联A表的 cardid
卡会产生报警,人员和车辆都可能产生报警。
现在想建立一个视图:
其中有3个字段, 当cardid能在人员表中查的出来时,用从人员表中查询出来的数据,
当能从车辆表中查出数据时,用车辆的。 (人员表和车辆表中的外键 cardid不会相同)
求解答!
------解决方案--------------------
B,C表结构一样如下:
- SQL code
select B.* from A,B where A.cardid=B.cardid and A.cardid=?union allselect C.* from A,C where A.cardid=C.cardid and A.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)
这样?