Sobes.tech
Middle
23

Как структурировать запрос с промежуточной таблицей для максимальной даты курса?

Компании, где спрашивали
OZONOZON

Ответ от нейросети

sobes.tech AI

Чтобы получить максимальную дату курса с использованием промежуточной таблицы, можно применить SQL-запрос с агрегацией и JOIN.

Предположим, есть таблицы:

  • courses (id, name)
  • course_dates (course_id, date, price)

Задача — для каждого курса получить запись с максимальной датой.

Пример запроса:

SELECT c.id, c.name, cd.date, cd.price
FROM courses c
JOIN course_dates cd ON c.id = cd.course_id
JOIN (
    SELECT course_id, MAX(date) AS max_date
    FROM course_dates
    GROUP BY course_id
) max_dates ON cd.course_id = max_dates.course_id AND cd.date = max_dates.max_date;

Здесь:

  • В подзапросе max_dates для каждого курса выбирается максимальная дата.
  • Затем основной запрос соединяет курсы с датами и фильтрует по максимальной дате.

Такой подход позволяет получить актуальные данные с максимальной датой курса, используя промежуточную таблицу.