Middle
Kaip sukurti užklausą su tarpinės lentelės pagal maksimalų kurso datą?
sobes.tech AI
Atsakymas iš AI
Norint gauti kurso maksimalią datą naudojant tarpinį lentelę, galima taikyti SQL užklausą su agregacija ir JOIN.
Tarkime, kad yra šios lentelės:
courses(id, pavadinimas)course_dates(course_id, data, kaina)
Užduotis — kiekvienam kursui gauti įrašą su maksimaliu data.
Pavyzdinė užklausa:
SELECT c.id, c.pavadinimas, cd.data, cd.kaina
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;
Čia:
- Subužklausoje
max_datespasirenkama maksimali data kiekvienam kursui. - Pagrindinė užklausa jungia kursus su datomis ir filtruojama pagal maksimalią datą.
Šis metodas leidžia gauti naujausius duomenis su maksimaliu kurso datumu, naudojant tarpinę lentelę.