Oracle
 sql >> база данни >  >> RDS >> Oracle

Oracle DB:Връща втора заявка, ако първата е празна

Можете да използвате WITH, за да направите това по-добро (и по-лесно за поддръжка):

WITH query1 as (
    select 1, 2
    from dual
    where 1=0
    connect by level <= 10
),
query2 as (
    select 3, 4
    from dual
    connect by level <= 10
)
select *
from query1
union all
select *
from query2
where not exists (
    select null
    from query1
);

Както е, това трябва да върне 10-те реда от query2. Ако премахнете where 1=0 от query1 (което го кара действително да връща редове), трябва да получите 10-те реда от query1.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Вмъкване на изображение от Oracle в SQL Server

  2. NAME_IN, вграден в Oracle D2k Forms

  3. Oracle PL/SQL UTL_FILE.PUT буфериране

  4. Създайте вложена таблица и вмъкнете данни само във вътрешната таблица

  5. Премахване на случаен израз от низ