A表不存在就查B表,还不存在查C表,三表最多总存在一项

MySql 码拜 8年前 (2016-07-12) 975次浏览
A和B和C表的结构基本一样,同一条件,例如查询id=5的,先查A,A不存在查B,B不存在查C。
用一句sql怎么写效率高,感谢想办法的朋友,A和B和C假如存在id=5的,那最多只有一个表存在,或都不存在。
~
相对于A表是及时表,B表和C表是历史数据,只有A查不到的时候才去查B和C表
解决方案

10

这种最好用存储过程吧。

30

select * from a where id=5
union all
select * from b where id=5 and not exists (select 1 from a where id =5)
union all
select * from c where id=5 and not exists (select 1 from a where id =5)

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明A表不存在就查B表,还不存在查C表,三表最多总存在一项
喜欢 (0)
[1034331897@qq.com]
分享 (0)