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

2024年11月18日 21:34
有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 做不到