Middle
Jak strukturovat dotaz s mezistubou pro maximální datum kurzu?
sobes.tech AI
Odpověď od AI
Pro získání maximálního data kurzu pomocí mezitabulky lze použít SQL dotaz s agregací a JOIN.
Předpokládejme, že existují tabulky:
courses(id, název)course_dates(course_id, datum, cena)
Úkolem je získat pro každý kurz záznam s maximálním datem.
Příklad dotazu:
SELECT c.id, c.název, cd.datum, cd.cena
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;
Zde:
- V poddotazu
max_datesje vybráno maximální datum pro každý kurz. - Poté hlavní dotaz spojuje kurzy s daty a filtruje podle maximálního data.
Tento přístup umožňuje získat aktuální data s maximálním datem kurzu pomocí mezitabulky.