Middle
23
Как структурировать запрос с промежуточной таблицей для максимальной даты курса?
Компании, где спрашивали
Ответ от нейросети
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для каждого курса выбирается максимальная дата. - Затем основной запрос соединяет курсы с датами и фильтрует по максимальной дате.
Такой подход позволяет получить актуальные данные с максимальной датой курса, используя промежуточную таблицу.