Middle
Como estruturar uma consulta com uma tabela intermediária para a data máxima do curso?
sobes.tech IA
Resposta da IA
Para obter a data máxima do curso usando uma tabela intermediária, pode aplicar uma consulta SQL com agregação e JOIN.
Suponha que existam tabelas:
courses(id, nome)course_dates(course_id, data, preço)
A tarefa é obter, para cada curso, o registo com a data máxima.
Exemplo de consulta:
SELECT c.id, c.nome, cd.data, cd.preco
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;
Aqui:
- Na subconsulta
max_dates, é selecionada a data máxima para cada curso. - Depois, a consulta principal une os cursos com as datas e filtra pela data máxima.
Este método permite obter dados atualizados com a data máxima do curso, usando uma tabela intermediária.