Middle
Jak zbudować zapytanie z tabelą pośrednią dla maksymalnej daty kursu?
sobes.tech AI
Odpowiedź od AI
Aby uzyskać maksymalną datę kursu za pomocą tabeli pośredniej, można zastosować zapytanie SQL z agregacją i JOIN.
Załóżmy, że istnieją tabele:
courses(id, nazwa)course_dates(course_id, data, cena)
Zadaniem jest uzyskanie dla każdego kursu wpisu z maksymalną datą.
Przykład zapytania:
SELECT c.id, c.nazwa, cd.data, cd.cena
FROM courses c
JOIN course_dates cd ON c.id = cd.course_id
JOIN (
SELECT course_id, MAX(data) AS max_data
FROM course_dates
GROUP BY course_id
) max_dates ON cd.course_id = max_dates.course_id AND cd.data = max_dates.max_data;
Tutaj:
- W podzapytaniu
max_dateswybierana jest maksymalna data dla każdego kursu. - Następnie główne zapytanie łączy kursy z datami i filtruje po maksymalnej dacie.
Taki sposób pozwala uzyskać aktualne dane z maksymalną datą kursu, korzystając z tabeli pośredniej.