Sobes.tech
Middle

Cum se structurează o interogare cu un tabel intermediar pentru data maximă a cursului?

sobes.tech AI

Răspuns de la AI

Pentru a obține data maximă a cursului utilizând o tabelă intermediară, se poate aplica o interogare SQL cu agregare și JOIN.

Presupunem că există tabele:

  • courses (id, nume)
  • course_dates (course_id, dată, preț)

Sarcina este să obțineți, pentru fiecare curs, înregistrarea cu data maximă.

Exemplu de interogare:

SELECT c.id, c.nume, cd.dată, cd.preț
FROM courses c
JOIN course_dates cd ON c.id = cd.course_id
JOIN (
    SELECT course_id, MAX(dată) AS max_dată
    FROM course_dates
    GROUP BY course_id
) max_dates ON cd.course_id = max_dates.course_id AND cd.dată = max_dates.max_dată;

Aici:

  • În subinterogarea max_dates, se selectează data maximă pentru fiecare curs.
  • Apoi, interogarea principală unește cursurile cu datele și filtrează după data maximă.

Această abordare permite obținerea datelor actualizate cu data maximă a cursului, folosind o tabelă intermediară.