Middle
Wie strukturiert man eine Abfrage mit einer Zwischentabelle für das maximale Kursdatum?
sobes.tech KI
Antwort von AI
Um die maximale Kursdatum unter Verwendung einer Zwischentabelle zu erhalten, kann eine SQL-Abfrage mit Aggregation und JOIN angewendet werden.
Angenommen, es gibt Tabellen:
courses(id, name)course_dates(course_id, date, price)
Die Aufgabe ist, für jeden Kurs den Datensatz mit dem maximalen Datum zu erhalten.
Beispielabfrage:
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;
Hier:
- In der Unterabfrage
max_dateswird für jeden Kurs das maximale Datum ausgewählt. - Dann verbindet die Hauptabfrage die Kurse mit den Daten und filtert nach dem maximalen Datum.
Dieser Ansatz ermöglicht es, aktuelle Daten mit dem maximalen Kursdatum zu erhalten, unter Verwendung einer Zwischentabelle.