none
Mostrar registros com left join RRS feed

  • Pergunta

  • Pessoal, bom dia. 

    Eu preciso fazer um select que mostre o valor total de corridas de um motorista e o numero de OSs no mes corrente. Porém, caso o motorista não tenha feito nenhuma corrida, preciso mostra-lo mesmo assim, como NULO ou 0.

    Tentei fazer desta forma, porém, não está mostrando os motoristas que não tiveram corrida em junho:

    select os.motorista, m.nomeusual, sum(os.valor), count(os.id) from jump.ordensservicos os
    left join jump.motoristas m on os.motorista = m.id
    where MONTH(diahora) = MONTH(GETDATE()) and m.excluido = 0
    group by os.motorista, m.nomeusual

    Obrigado!

    Leonardo D'Amato


    Leonardo D'Amato

    quinta-feira, 16 de junho de 2016 12:23

Respostas

  • Bom dia,

    Leonardo, experimente dessa forma:

    select 
        m.id, 
        m.nomeusual, 
        sum(os.valor), 
        count(os.id) 
    from jump.motoristas m
    left join jump.ordensservicos os 
        on 
            os.motorista = m.id and
            MONTH(diahora) = MONTH(GETDATE()) 
    where
        m.excluido = 0
    group by 
        m.id, 
        m.nomeusual

    Espero que ajude


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

    quinta-feira, 16 de junho de 2016 13:06

Todas as Respostas

  • Bom dia Leonardo

    Vc chegou a verificar se o campo esta nulo ? Se estiver tenta o is null !

    select os.motorista, m.nomeusual, sum(os.valor), count(os.id) from jump.ordensservicos os
    left join jump.motoristas m on os.motorista = m.id
    where MONTH(diahora) = MONTH(GETDATE()) and m.excluido = 0 or m.excluido is null
    group by os.motorista, m.nomeusual

    quinta-feira, 16 de junho de 2016 12:44
  • Bom dia,

    Leonardo, experimente dessa forma:

    select 
        m.id, 
        m.nomeusual, 
        sum(os.valor), 
        count(os.id) 
    from jump.motoristas m
    left join jump.ordensservicos os 
        on 
            os.motorista = m.id and
            MONTH(diahora) = MONTH(GETDATE()) 
    where
        m.excluido = 0
    group by 
        m.id, 
        m.nomeusual

    Espero que ajude


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

    quinta-feira, 16 de junho de 2016 13:06
  • Perfeito, meu amigo gapimex, como sempre.

    Muito obrigado.


    Leonardo D'Amato

    quinta-feira, 16 de junho de 2016 13:24