sql >> Databáze >  >> RDS >> Oracle

Oracle DB:Vraťte druhý dotaz, pokud je první dotaz prázdný

Můžete použít WITH, aby to fungovalo lépe (a snáze se udržovalo):

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
);

To by mělo vrátit 10 řádků z dotazu2. Pokud z dotazu1 odstraníte kde 1=0 (což způsobí, že ve skutečnosti vrátí řádky), měli byste získat 10 řádků z dotazu1.



  1. Dotaz na připojení Mysql

  2. Přidejte se ke mně se speciálním hostem Michalem Barem z týmu MS Access!

  3. Potřebujete importovat datový soubor fdb do databáze mysql

  4. Naplánovaná událost mysql přestane fungovat, jakmile je vytvořena a spuštěna 2. událost