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

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

Boa noite,

Fiquei em dúvida nas seguintes queries:

select a.nome, c.nome, avg(n.nota) 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

Retorna:

João da Silva SQL e banco de dados 5.7407

E a query de resposta do exercício:

select a.nome, c.nome, avg(n.nota) 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

Retorna:

Renata Alonso PHP e MySql 4.8571 Alberto Santos Scrum e métodos ágeis 5.7778 Frederico José SQL e banco de dados 6.2500 João da Silva SQL e banco de dados 6.2857

Imaginava que ambas queries retornariam os mesmos registros.

Gratidão pela ajuda!

3 respostas
solução!

Tiago faltou o group by na sua query, tente coloca-lo para ver se resolve a diferença.

Obrigado Matheus. Entendi.

Abraço.

De nada Tiago, sempre que precisar não deixe de criar suas dúvidas.