Sobes.tech
Middle

Kā strukturēt vaicājumu ar starpposma tabulu maksimālajai kursa datumam?

sobes.tech AI

Atbilde no AI

Lai iegūtu kursa maksimālo datumu, izmantojot starpposma tabulu, var izmantot SQL vaicājumu ar agregāciju un JOIN.

Pieņemsim, ka ir šādas tabulas:

  • courses (id, nosaukums)
  • course_dates (course_id, datums, cena)

Uzdevums — katram kursam iegūt ierakstu ar maksimālo datumu.

Piemēra vaicājums:

SELECT c.id, c.nosaukums, cd.datums, cd.cena
FROM courses c
JOIN course_dates cd ON c.id = cd.course_id
JOIN (
    SELECT course_id, MAX(datums) AS max_datums
    FROM course_dates
    GROUP BY course_id
) max_dates ON cd.course_id = max_dates.course_id AND cd.datums = max_dates.max_datums;

Šeit:

  • Apakšvaicā max_dates tiek izvēlēts maksimālais datums katram kursam.
  • Tad galvenais vaicājums savieno kursus ar datumiem un filtrē pēc maksimālā datuma.

Šī pieeja ļauj iegūt aktuālus datus ar maksimālo kursa datumu, izmantojot starpposma tabulu.