Sobes.tech
Middle

Kako strukturirati upit sa međusključnom tabelom za maksimalni datum kursa?

sobes.tech АИ

Одговор од АИ

Da biste dobili maksimalni datum kursa koristeći međutabelu, možete primeniti SQL upit sa agregacijom i JOIN-om.

Pretpostavimo da postoje tabele:

  • courses (id, naziv)
  • course_dates (course_id, datum, cena)

Zadatak je da za svaki kurs dobijete zapis sa maksimalnim datumom.

Primer upita:

SELECT c.id, c.naziv, 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;

Ovde:

  • U podupitu max_dates, bira se maksimalni datum za svaki kurs.
  • Zatim, glavni upit spaja kurseve sa datumima i filtrira po maksimalnom datumu.

Ovaj pristup omogućava dobijanje ažuriranih podataka sa maksimalnim datumom kursa, koristeći međutabelu.