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

Zwróć wartość domyślną, jeśli nie znaleziono pojedynczego wiersza

Jeden sposób na zrobienie tego

SELECT IFNULL(MIN(`file`), 'default.webm') `file` 
  FROM `show`, `schedule` 
 WHERE `channel` = 1 AND `start_time` <= UNIX_TIMESTAMP() 
   AND `start_time` > UNIX_TIMESTAMP()-1800 AND `show`.`id` = `schedule`.`file` 
 ORDER BY `start_time` DESC LIMIT 1

Ponieważ zwracasz tylko jeden wiersz, możesz użyć funkcji agregującej, w takim przypadku MIN() , co gwarantuje, że otrzymasz NULL jeśli nie wybrano żadnych rekordów. Następnie IFNULL() lub COALESCE() wykona swoją pracę.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Klauzula MySQL IN:maksymalna liczba argumentów

  2. Nie można uzyskać dostępu do MySQL po automatycznym wygenerowaniu tymczasowego hasła

  3. Czy jest jakaś różnica między DATE_SUB() a używaniem operatorów arytmetycznych do obliczania daty i godziny?

  4. Wyciągnij pierwsze X słów (nie tylko znaki) z mySQL

  5. Jak zweryfikować kopie zapasowe MySQL za pomocą ClusterControl