Tema: Ayuda Fechas
Ver Mensaje Individual
  #11 (permalink)  
Antiguo 15/07/2010, 11:27
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 4 meses
Puntos: 2658
Respuesta: Ayuda Fechas

Como ya te dije, no lo revisé completamente.
El tema es así:
- Tienes que buscar por separado los segmentos matutinos y por el otro los vespertinos. La consulta debe devolver las dos búsquedas unidas (de allí el UNION).
- En el matutino, debes tomar todos aquellos registros que se inicien entre la hora 00:00:00 de cada día y las 08:00:00 de ese mismo día. Con esto se debe calcular el tiempo entre la hora marcada de entrada y las 08:00:00:
Código MySQL:
Ver original
  1. TIMESTAMPDIFF(SECOND, FechaEntrada, CONCAT(DATE(FechaEntrada), ' 08:00:00'))
Esta parte:
Código MySQL:
Ver original
  1. CONCAT(DATE(FechaEntrada), ' 08:00:00')
"crea" un datetime con la misma fecha del inicio, pero hasta las 08:00:00.
- Debe agregarse siempre el ID del empleado para poder realizar luego el agrupamiento. No hay que olvidar que una consulta pasada en el resultado de una subconsulta sólo puede invocar los campos que la subconsulta devuelve.
- El período vespertino se calcula de una forma parecida, pero con la diferencia entre las 20:00:00 y la hora registrada de salida:
Código MySQL:
Ver original
  1. TIMESTAMPDIFF(SECOND, CONCAT(DATE(FechaSalida), ' 20:00:00'), FechaSalida)

¿Se entiende?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)