Buenos días, tengo un problema que es de bastante urgencia y no tengo ni idea de como lo puedo solucionar.
Tengo una tabla que contiene registros con los siguientes datos.
cedula, hora, entrada, fecha (entre otros pero estos son los importantes), les dejo aqui también el formato como esta guardado.
hora (yyyy-mm-dd hh-mm-ss)
entrada (I/O) Int Out
fecha (yyyy-mm-dd)
De esta tabla tengo 2 vistas creadas, una para las entradas (I) y otra para las salidas (O).
Y de estas 2 vistas anteriormente creadas tengo otra que seria lo siguiente:
Código MySQL:
Ver original `v_ntrada`.
`Cedula` AS `cedula`, `v_ntrada`.
`Nombre` AS `nombre`, `v_ntrada`.
`Fecha` AS `fecha`, `v_ntrada`.
`hora` AS `entrada`, `v_salida`.
`hora` AS `salida`, `v_ntrada`.`hora`,
`v_salida`.
`hora`)) AS `TotalHoras` (`v_ntrada`
JOIN `v_salida` ON (((`v_ntrada`.
`Fecha` = `v_salida`.
`Fecha`) AND (`v_ntrada`.
`Cedula` = `v_salida`.
`Cedula`) AND (`v_ntrada`.
`hora` < `v_salida`.
`hora`)))) ((`v_ntrada`.`Registrado` = 'NO')
AND (`v_salida`.
`Registrado` = 'NO')) GROUP BY `v_ntrada`.
`hora` , `v_ntrada`.
`Cedula`
Como ven aquí saco las duplas de cada día pero el problema lo tengo cuando una persona entra a las 18:00:00 y sale a las 00:00:00 por lo tanto la parde te (`v_ntrada`.`Fecha` = `v_salida`.`Fecha`) no me funciona (lo mismo pasa cuando entran a las 00:00:00 (siempre entran unos minutos antes) y salen a las 06:00:00).
Al no tener los pares (Entrada y Salida) no puedo calcular las horas que trabajaron y esto me complica mucho.
Si alguien tiene una idea de como hacerlo se lo agradezco
Saludos