sql >> Databasteknik >  >> RDS >> Mysql

Returnera ett standardvärde om en rad inte hittas

Ett sätt att göra det

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

Eftersom du bara returnerar en rad kan du använda en aggregatfunktion, i så fall MIN() , som säkerställer att du får NULL om inga poster har valts. Sedan IFNULL() eller COALESCE() kommer att göra sitt jobb.



  1. Android:Hur importerar jag kontakt från telefonen?

  2. Ändra storlek på tabell-/kolumn-/indexnamn i oracle 11g eller 12c

  3. Oracle hur man exporterar en fråga till en text/csv-fil

  4. Hur man lägger till eller släpper kolumn genom att använda GUI i SQL Server - SQL Server / T-SQL självstudie del 39