Một cách để làm điều đó
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
Vì bạn chỉ trả về một hàng, bạn có thể sử dụng một hàm tổng hợp, trong trường hợp đó là MIN()
, điều đó đảm bảo rằng bạn sẽ nhận được NULL
nếu không có bản ghi nào được chọn. Sau đó, IFNULL()
hoặc COALESCE()
sẽ thực hiện công việc của nó.