Bom dia, Escrevi o código da seguinte forma
SELECT nome
FROM(
SELECT categoria.nome,
COUNT (categoria.id)
FROM curso
JOIN categoria ON categoria.id = curso.categoria_id
GROUP BY 1
) AS teste
WHERE categoria.id > 1;
mas ele não funciona, dá o seguinte erro:
ERROR: missing FROM-clause entry for table "categoria" LINE 11: WHERE categoria.id > 1; ^ SQL state: 42P01 Character: 174
no entanto, se eu trocar o "categoria.id" do WHERE para "COUNT", assim como no código abaixo, ele funciona
SELECT nome
FROM(
SELECT categoria.nome,
COUNT (categoria.id)
FROM curso
JOIN categoria ON categoria.id = curso.categoria_id
GROUP BY 1
) AS teste
WHERE COUNT > 1;
Alguém pode me explicar o motivo disso? Não quero avançar no curso sem entender essa parte.