sql >> Databáze >  >> RDS >> Mysql

SQL IF SELECT dotaz je null, pak proveďte jiný dotaz

Existuje několik jednoduchých způsobů, jak používat pouze sql.

Definujte svůj první dotaz jako dočasnou tabulku se sjednocením všech, filtrujte druhý dotaz s počtem dočasných tabulek.

with temp as (select * from t1 where 1=0)
select * from temp
union all
select * from t2 where (select count(*) from  temp) =0

Tento dotaz vrátí záznamy druhé tabulky.

with temp as (select * from t1 )
select * from temp
union all
select * from t2 where (select count(*) from  temp) =0

A pokud má dočasný dotaz výsledek, vrátí pouze dočasný dotaz.

Můžete testovat pomocí sql housle zde .



  1. MySQL NAČTE DATOVÝ VSTUPNÍ SOUBOR pomocí ON DUPLICATE KEY UPDATE

  2. získat řádek s nejvyšší hodnotou v MySQL

  3. Server MySQL-Wamp po upgradu win10 nefunguje

  4. Problémy aktivních záznamů CodeIgniter s voláním více uložených procedur