Fiquei com uma dúvida, porque nesse caso:
select 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
where a.nome like '%Santos%' or a.nome like '%Silva%'
group by c.nome;
eu pude usar o WHERE junto com GROUP BY e
nesse caso:
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
having avg(n.nota) < 5
não posso usar o WHERE, tenho que utilizar o HAVING no lugar???
tentei usar o HAVING no primeiro caso e também dá erro, por favor me expliquem o motivo.
obrigado.