Mysql
 sql >> база данни >  >> RDS >> Mysql

Върнете стойност по подразбиране, ако един ред не е намерен

Един от начините да го направите

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

Тъй като връщате само един ред, можете да използвате агрегатна функция, в този случай MIN() , което гарантира, че ще получите NULL ако няма избрани записи. След това IFNULL() или COALESCE() ще си свърши работата.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Управлявайте MySQL с phpMyAdmin на Ubuntu 10.10 (Maverick)

  2. Добавете индекс на ПЪЛЕН ТЕКСТ в Доктрина 2 с помощта на пояснения?

  3. вмъкване на заявка с ajax без презареждане на цялата страница

  4. PHP/PDO:Подготвените оператори не работят при създаване на таблица?

  5. MySQL FULLTEXT не работи