Sobes.tech
Middle

Как да структурираме заявка с междинна таблица за максималната дата на курса?

sobes.tech AI

Отговор от AI

За да получите максималната дата на курса, използвайки междинна таблица, можете да приложите SQL заявка с агрегация и JOIN.

Да предположим, че има таблици:

  • courses (id, име)
  • course_dates (course_id, дата, цена)

Задачата е да се получи за всеки курс записът с максималната дата.

Примерна заявка:

SELECT c.id, c.име, cd.дата, cd.цена
FROM courses c
JOIN course_dates cd ON c.id = cd.course_id
JOIN (
    SELECT course_id, MAX(дата) AS max_дата
    FROM course_dates
    GROUP BY course_id
) max_dates ON cd.course_id = max_dates.course_id AND cd.дата = max_dates.max_дата;

Тук:

  • В подзаявката max_dates се избира максималната дата за всеки курс.
  • След това основната заявка свързва курсовете с датите и филтрира по максималната дата.

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