none
Utilização do Is null RRS feed

  • 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

    quarta-feira, 8 de novembro de 2017 18:29

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

    quarta-feira, 8 de novembro de 2017 19:02

Todas as Respostas

  • Boa tarde,

    Experimente mais ou menos dessa forma:

    where Faltas > 0

    Espero que ajude


    Assinatura: http://www.imoveisemexposicao.com.br

    quarta-feira, 8 de novembro de 2017 18:48
  • 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=2016

    ele continua puxando :(

    quarta-feira, 8 de novembro de 2017 18:54
  • 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

    quarta-feira, 8 de novembro de 2017 19:02