Задать вопрос
@evgoo

Как выбрать данные из таблицы mysql по нескольким датам?

Достался в наследство сайт на 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 предыдущих эпизода и один следующий от текущей даты.
Подскажите как можно улучшить данный запрос. Предполагаю можно как то проще выбрать нужные данные
  • Вопрос задан
  • 83 просмотра
Подписаться 1 Простой 4 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы