Достался в наследство сайт на DLE и там есть самописный плагин которые позволяет выводить эпизоды к сериалу. Среди прочего, там есть такой страшный запрос.
(SELECT `t1`.`season`, `t1`.`episode`, `t1`.`name_orig`, `t1`.`name_rus`, `t1`.`date` AS `release`, `t2`.`id`, `t2`.`alt_name`, `t2`.`date`, `t2`.`category`
FROM `" . PREFIX . "_episodes` AS `t1`
LEFT OUTER JOIN `" . PREFIX . "_post` AS `t2` ON `t2`.`id` = `t1`.`post_id`
WHERE `t1`.`date` <= NOW()
ORDER BY `season`, `episode` DESC
" . $limitSQL . ")
UNION
(SELECT `t1`.`season`, `t1`.`episode`, `t1`.`name_orig`, `t1`.`name_rus`, `t1`.`date` AS `release`, `t2`.`id`, `t2`.`alt_name`, `t2`.`date`, `t2`.`category`
FROM `" . PREFIX . "_episodes` AS `t1`
LEFT OUTER JOIN `" . PREFIX . "_post` AS `t2` ON `t2`.`id` = `t1`.`post_id`
WHERE `t1`.`date` > NOW()
ORDER BY `season`, `episode`
LIMIT 1)
По задумке автора данный запрос должен выводить 3 предыдущих эпизода и один следующий от текущей даты.
Подскажите как можно улучшить данный запрос. Предполагаю можно как то проще выбрать нужные данные