Mysql
 sql >> Baza danych >  >> RDS >> Mysql

SQL IF SELECT zapytanie jest puste, a następnie wykonaj inne zapytanie

Istnieje kilka prostych sposobów, aby używać tylko sql.

Zdefiniuj pierwsze zapytanie jako tabelę tymczasową, korzystając z opcji union all, przefiltruj drugie zapytanie za pomocą licznika tabeli tymczasowej.

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

To zapytanie zwróci rekordy drugiej tabeli.

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

A jeśli zapytanie tymczasowe ma wynik, zwróć tylko zapytanie tymczasowe.

Możesz testować za pomocą sql skrzypce tutaj .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Najszybszy sposób na wstawienie obiektu, jeśli nie istnieje z SQLAlchemy

  2. MySQL :suma każdego dnia

  3. PHP:Pokaż okno dialogowe potwierdzenia tak/nie

  4. Konwersja numeru epoki na datę czytelną dla człowieka w mysql

  5. Implementacja MySQL z CUDA