Sobes.tech
Middle

Come strutturare una query con una tabella intermedia per la data massima del corso?

sobes.tech AI

Risposta dell'AI

Per ottenere la data massima del corso utilizzando una tabella intermedia, è possibile applicare una query SQL con aggregazione e JOIN.

Supponiamo che ci siano tabelle:

  • courses (id, nome)
  • course_dates (course_id, data, prezzo)

Il compito è ottenere, per ogni corso, la registrazione con la data massima.

Esempio di query:

SELECT c.id, c.nome, cd.data, cd.prezzo
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;

Qui:

  • Nella sottoquery max_dates, si seleziona la data massima per ogni corso.
  • Poi, la query principale unisce i corsi con le date e filtra per la data massima.

Questo metodo permette di ottenere dati aggiornati con la data massima del corso, usando una tabella intermedia.