Sobes.tech
Middle

Hoe structureer je een query met een tussentabel voor de maximale cursusdatum?

sobes.tech AI

Antwoord van AI

Om de maximale cursusdatum te verkrijgen met behulp van een tussentabel, kan een SQL-query met aggregatie en JOIN worden toegepast.

Laten we aannemen dat er tabellen zijn:

  • courses (id, naam)
  • course_dates (course_id, datum, prijs)

De taak is om voor elke cursus de record met de maximale datum te krijgen.

Voorbeeldquery:

SELECT c.id, c.naam, cd.datum, cd.prijs
FROM courses c
JOIN course_dates cd ON c.id = cd.course_id
JOIN (
    SELECT course_id, MAX(datum) AS max_datum
    FROM course_dates
    GROUP BY course_id
) max_dates ON cd.course_id = max_dates.course_id AND cd.datum = max_dates.max_datum;

Hier:

  • In de subquery max_dates wordt voor elke cursus de maximale datum geselecteerd.
  • Vervolgens verbindt de hoofdquery de cursussen met de datums en filtert op de maximale datum.

Deze aanpak maakt het mogelijk om actuele gegevens met de maximale cursusdatum te verkrijgen, gebruikmakend van een tussentabel.