Usando HAVING para pegar diferença de datas
Bom dia amigos, tudo bem?
Uma pequena dica para minha query.
Preciso selecionar todos os funcionários com status=5 e com a diferença entre a data de demissão e adminissão inferior ou igual a 5475 dias (15 anos).
Só que tenho outras informações para buscar e mostrar nesse relatório.
Abaixo um código que esta demorando muito para ser executado.
Os campos de data de demissão e admissão são do tipo DATE.
SELECT tb_demissao.nome, tb_demissao.pernr, tb_lojas.id_loja, tb_demissao.status, tb_demissao.dtdemi, tb_demissao.dtadmi, tb_demissao.motivo, tb_demissao_motivo.descricao_motivo, tb_cpf.stat2, tb_cpf.pernr, tb_cpf.btrtl, tb_cpf.btrtl, DATEDIFF(tb_demissao.dtdemi,tb_demissao.dtadmi) as Total FROM tb_lojas JOIN tb_cpf ON (tb_lojas.id_loja = tb_cpf.btrtl) JOIN tb_demissao ON (tb_cpf.pernr=tb_demissao.pernr) JOIN tb_demissao_motivo ON (tb_demissao.motivo = tb_demissao_motivo.id_demissao_motivo) GROUP BY tb_cpf.bukrs, tb_demissao.nome, tb_demissao.pernr, tb_lojas.id_loja, tb_demissao.status, tb_demissao.dtdemi, tb_demissao.dtadmi, tb_demissao.motivo, tb_demissao_motivo.descricao_motivo, tb_cpf.stat2, tb_cpf.pernr, tb_cpf.btrtl, tb_cpf.btrtl HAVING Total <= 5475 and tb_demissao.status=5 AND tb_cpf.bukrs = 'LAME' AND tb_cpf.btrtl = '0145'
Se alguém puder dar uma dica, ficaria agradecido.
Atenciosamente,
Leonardo Fanhoni
Discussão (1)
Carregando comentários...