sql >> Database teknologi >  >> RDS >> Mysql

SQL HVIS SELECT-forespørgslen er null, foretag en anden forespørgsel

Der er nogle enkle måder kun bruge sql.

Definer din første forespørgsel som en midlertidig tabel, med union all, filtrer den anden forespørgsel med den midlertidige tabels antal.

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

Denne forespørgsel returnerer den anden tabels poster.

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

Og hvis den midlertidige forespørgsel har et resultat, skal du kun returnere midlertidig forespørgsel.

Du kan teste med sql violin her .



  1. Laravel Veltalende med()-> returnerer null

  2. ÆNDRINGSTABEL i MySQL:Ven eller fjende?

  3. Sådan viser du Unicode-data med PHP

  4. Hvordan installeres localdb separat?