Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/06/2014, 02:07
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 2 meses
Puntos: 574
Respuesta: Calcular horas trabajadas

Eso no se resuelve solo con una query, debes controlar cuantos marcages tiene cada trabajador en un dia, tratar los casos donde haya anomalias (entradas sin salidas, o salidas sin entradas....)

Pero supongamos que los trabajadores solo entran y salen una vez por dia y nunca se olvidan de marcar.

Las entradas
Código MySQL:
Ver original
  1. SELECT Cedula,Nombre,Fecha,Hora Entradas
  2. FROM tuTabla
  3. WHERE Entrada="I"

Las salidas
Código MySQL:
Ver original
  1. SELECT Cedula,Nombre,Fecha,Hora Salidas
  2. FROM tuTabla
  3. WHERE Entrada="O"

Todo junto

Código MySQL:
Ver original
  1. SELECT Ent.Cedula,
  2.              Ent.Nombre,
  3.              Ent.Fecha,
  4.              Ent.Entradas,
  5.              Sal.Salidas,
  6.              SUBTIME(Sal.Salidas,Ent.Entradas) TotalHoras
  7.      (SELECT Cedula,Nombre,Fecha,Hora Entradas
  8.        FROM tuTabla
  9.        WHERE Entrada="I") Ent
  10.     (SELECT Cedula,Nombre,Fecha,Hora Salidas
  11.       FROM tuTabla
  12.       WHERE Entrada="O") Sal
  13.    ON Ent.fecha=Sal.Fecha
  14.         AND Ent.Cedula=Sal.Cedula
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 06/06/2014 a las 02:13