Tema: Ayuda Fechas
Ver Mensaje Individual
  #9 (permalink)  
Antiguo 15/07/2010, 09:38
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: 16 años, 6 meses
Puntos: 2658
Respuesta: Ayuda Fechas

Poderse hacer en una consulta... se puede. Pero es una consulta algo compleja porque primero hay que determinar los parámetros de hora de inicio y hora final, y luego calcular los segmentos diurnos y nocturnos.
Ese tipo de consultas es conveniente resolverlas en procedimientos almacenados (stored procedures).
¿Realmente la necesitas hacer?

La cosa anda más o menos por acá (no la he revisado muy bien):
Código MySQL:
Ver original
  1. SELECT IdEmpleado, Dia, SEC_TO_TIME(SUM(Total)) TotalTiempo
  2.   (
  3.   SELECT IdEmpleado, DATE(FechaEntrada) Dia, TIMESTAMPDIFF(SECOND, FechaEntrada, CONCAT(DATE(FechaSalida), ' 08:00:00')) Total
  4.   FROM entradas
  5.   WHERE FechaEntrada BETWEEN CONCAT(DATE(FechaEntrada), ' 00:00:00') AND CONCAT(DATE(FechaEntrada), ' 08:00:00')
  6.   SELECT IdEmpleado, DATE(FechaEntrada) Dia, TIMESTAMPDIFF(SECOND, CONCAT(DATE(FechaSalida), ' 20:00:00'), FechaSalida ) Total
  7.   FROM entradas
  8.   WHERE FechasALIDA BETWEEN CONCAT(DATE(FechaSalida), ' 20:00:00') AND CONCAT(DATE(FechaSalida), ' 23:59:59')
  9.   ) T1
  10. GROUP BY IdEmpleado;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)