Pessoal, tudo bem?
Antes de tudo não sou um expert em queries e sim um “curioso” que aprendeu até certo nível que nem eu sei rs.
Vamos lá, vejam se podem me ajudar e ficarei imensamente grato.
Tenho um banco de dados que possui dados de eventos de entrada e saída de funcionários.
quando o funcionario X entra, um id de registro é criado e vai para tabela de registro_entrada
quando o funcionario x sai, um novo id de registro é criado e vai para a tabela de registro_saida.
São obviamente tabelas diferentes.
quando faço o select, geram 2 linhas.
Como consigo subtrair a data/hora de saida da entrada, para obter a “duração” da estadia do funcionario?
Não consigo usar a função timediff pois consegui apenas relacionar a “data” atual e não a data original da entrada.
abaixo um resumo…
SELECT * from e.entrada
INNER JOIN functions f ON ( f.funcionarioid = e.funcionarioid)
INNER JOIN functions s ON ( s.funcionarioid = f.funcionarioid)
where f.funcionarioid = 101
(SELECT TIMEDIFF (e.entradaid,s.saidaid)) AS DURACAO
O resultado são 2 linhas por exemplo, então o que preciso é ter a duração com base na entrada e saida, que estão em linhas diferentes…
Enfim, é isso… muito grato desde já!