Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida no Ex. 2 da Aula 3 - Filtrando agregações e o HAVING

Ao executar esse exercicio, não há nenhum retorno, estaria correto a execução da seguinte query?

select a.nome, c.nome, avg(n.nota) as media from nota n
    join resposta r on r.id = n.resposta_id
    join exercicio e on e.id = r.exercicio_id
    join secao s on s.id = e.secao_id
    join curso c on c.id = s.curso_id
    join aluno a on a.id = r.aluno_id
group by c.nome, a.nome
having avg(n.nota) < 5;
2 respostas
solução!

Willian, bom dia !

sua query está correta . o que pode acontecer é que não tenha nenhum dado com o valor da query busca .

pode ser que não tenha média menor que 5 .

faça uma query simples para mostrar todas as médias , somente para confirmar se tem algum valor menor que 5 .

Tem que ficar alerta quanto aos tipos de JOINS que usamos. Os joins retornam apenas quando há referência em ambas as tabelas, ou seja, só retorna um valor quando há referência na tabela A e na Tabela B.

Alguma dúvida a mais? Aguardo.