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

Restituisce un valore predefinito se non viene trovata una singola riga

Un modo per farlo

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

Poiché restituisci solo una riga, puoi utilizzare una funzione di aggregazione, in tal caso MIN() , questo ti assicura di ottenere NULL se nessun record selezionato. Quindi IFNULL() o COALESCE() farà il suo lavoro.