Usuário com melhor resposta
Utilização do Is null

Pergunta
-
boa tarde!
tenho uma seguinte tabela retornando dados de alunos e escolas em geral, preciso que ela não retorne alunos que não tenham faltas,
por exemplo o campo falta aparece em numeral, porem quando o aluno não tem falta aparece null ou zero, preciso criar um filtro que retorne apenas alunos com falta
Respostas
-
Nesse caso experimente fazer uns testes dessa forma:
SELECT 'Ano Letivo'=ano_letivo, 'Nome do Aluno'= a.nome, 'Nome da Escola'= e.nome, 'Nome do Curso'= descricao, 'Série'= i_series, 'Turma'= turma, 'N. Matricula'=a.i_alunos, ca.TotaldeFaltas FROM bethadba.matriculas m join bethadba.alunos a on m.i_alunos=a.i_alunos join bethadba.escolas e on e.i_escolas=m.i_escolas join bethadba.cursos c on c.i_cursos=m.i_cursos CROSS APPLY ( SELECT sum(nro_faltas1+nro_faltas2+nro_faltas3+nro_faltas4+nro_faltas5+nro_faltas6+nro_faltas7+nro_faltas8) as TotaldeFaltas FROM bethadba.faltas_por_periodo WHERE m.i_alunos = faltas_por_periodo.i_alunos HAVING sum(nro_faltas1+nro_faltas2+nro_faltas3+nro_faltas4+nro_faltas5+nro_faltas6+nro_faltas7+nro_faltas8) > 0 ) as ca WHERE ano_letivo=2016
Espero que ajude
Assinatura: http://www.imoveisemexposicao.com.br
- Sugerido como Resposta Junior Galvão - MVPMVP sexta-feira, 10 de novembro de 2017 22:02
- Marcado como Resposta Filipe B CastroModerator segunda-feira, 2 de abril de 2018 18:10
Todas as Respostas
-
Boa tarde,
Experimente mais ou menos dessa forma:
where Faltas > 0
Espero que ajude
Assinatura: http://www.imoveisemexposicao.com.br
-
SELECT
'Ano Letivo'=ano_letivo,
'Nome do Aluno'= a.nome,
'Nome da Escola'= e.nome,
'Nome do Curso'= descricao,
'Série'= i_series,
'Turma'= turma,
'N. Matricula'=a.i_alunos,
(SELECT sum(nro_faltas1+nro_faltas2+nro_faltas3+nro_faltas4+nro_faltas5+nro_faltas6+nro_faltas7+nro_faltas8) as TotaldeFaltas
FROM
bethadba.faltas_por_periodo
WHERE
m.i_alunos = faltas_por_periodo.i_alunos and
faltas_por_periodo.i_alunos >0
)
FROM
bethadba.matriculas m
join bethadba.alunos a on m.i_alunos=a.i_alunos
join bethadba.escolas e on e.i_escolas=m.i_escolas
join bethadba.cursos c on c.i_cursos=m.i_cursos
WHERE
ano_letivo=2016ele continua puxando :(
-
Nesse caso experimente fazer uns testes dessa forma:
SELECT 'Ano Letivo'=ano_letivo, 'Nome do Aluno'= a.nome, 'Nome da Escola'= e.nome, 'Nome do Curso'= descricao, 'Série'= i_series, 'Turma'= turma, 'N. Matricula'=a.i_alunos, ca.TotaldeFaltas FROM bethadba.matriculas m join bethadba.alunos a on m.i_alunos=a.i_alunos join bethadba.escolas e on e.i_escolas=m.i_escolas join bethadba.cursos c on c.i_cursos=m.i_cursos CROSS APPLY ( SELECT sum(nro_faltas1+nro_faltas2+nro_faltas3+nro_faltas4+nro_faltas5+nro_faltas6+nro_faltas7+nro_faltas8) as TotaldeFaltas FROM bethadba.faltas_por_periodo WHERE m.i_alunos = faltas_por_periodo.i_alunos HAVING sum(nro_faltas1+nro_faltas2+nro_faltas3+nro_faltas4+nro_faltas5+nro_faltas6+nro_faltas7+nro_faltas8) > 0 ) as ca WHERE ano_letivo=2016
Espero que ajude
Assinatura: http://www.imoveisemexposicao.com.br
- Sugerido como Resposta Junior Galvão - MVPMVP sexta-feira, 10 de novembro de 2017 22:02
- Marcado como Resposta Filipe B CastroModerator segunda-feira, 2 de abril de 2018 18:10