Oracle怎样做到如果第一条select结果不为空则返回第一条select的结果集,否则使用第二条select语句查找?

2024-11-18 21:34:04
推荐回答(3个)
回答1:

用union + not exists 试试,效率不保证:


select a
from tabname
where ...
-- 上面是第一个sql
union
--下面是第二个sql
select a
from tabnameb
where ...
   and not exists( 
---------------
--这部分和第一个sql完全一样
select a
from tabname
where ...
----------------
)

回答2:

存储过程加游标,可以实现。

回答3:

自己写函数,单独一条select 做不到