Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Erro de Sintaxe 03.Equivalentes : SQL state: 42601

Na parte "Equivalentes" da 3º parte do curso, o código da sub-query da Alura diz que tem erro de sintaxe no ou perto do "having". O que está acontecendo? Era pra rodar ou não?

///LINE 7:     HAVING COUNT(aluno_curso.aluno_id) > 2;
  SELECT curso.nome,
         COUNT(aluno_curso.aluno_id) numero_alunos
    FROM curso
       JOIN aluno_curso ON aluno_curso.curso_id = curso.id
       GROUP BY 1
       ORDER BY numero_alunos DESC
       HAVING COUNT(aluno_curso.aluno_id) > 2;
1 resposta
solução!

Olá Renato, tudo bem?

O HAVING está informado na posição errada na sua query, por este motivo o erro ao executar a sua query foi retornado, o HAVING deve ser informado após o GROUP BY.

O HAVING funciona semelhante ao WHERE, depois que os registros são agrupados, o HAVING filtra quais registros são exibidos.

A sua query fica desta forma:

  SELECT curso.nome,
         COUNT(aluno_curso.aluno_id) numero_alunos
    FROM curso
       JOIN aluno_curso ON aluno_curso.curso_id = curso.id
       GROUP BY 1
       HAVING COUNT(aluno_curso.aluno_id) > 2
       ORDER BY numero_alunos DESC

Espero ter ajudado, qualquer nova dúvida é só falar e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software