1
resposta

Dúvida no exercício 4 do desafio gerenciamento escolar com banco de dados relacional

eu não entendi como fazer o código que gera a consulta correta do exercício 4. segue o código feito por mim: select ta.ID_Turma, count (a.id_aluno in (ta.ID_Turma)) from Alunos a join Turma_Alunos ta on a.ID_Aluno = ta.ID_Aluno;

gostaria de saber qual foi o erro no meu raciocinio e o código correto.

1 resposta

Olá Caio!

Analisando essa consulta no meu entendimento o trecho "count (a.id_aluno in (ta.ID_Turma))" não está de acordo com o que o SQL Server espera. O método count espera a definição de uma coluna para a contagem, por exemplo "count(a.id_aluno)" ou "count(ta.ID_Turma)". No seu caso me parece que faz mais sentido a consulta ser dessa forma:

select ta.ID_Turma, count (a.id_aluno) Quantidade_Alunos_Por_Turma from Alunos a join Turma_Alunos ta on a.ID_Aluno = ta.ID_Aluno group by ta.ID_Turma;

Note que ao final da consulta é necessário fazer o agrupamento da coluna "ta.ID_Turma", já que está definida na seleção além da coluna de contagem. Outra dica é definir um alias para a coluna onde está utilizando a funcão count, facilitando a análise do resultado.

Espero ter ajudado!