Ver Mensaje Individual
  #18  
Antiguo 05-03-2013
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Reputación: 22
fjcg02 Va camino a la fama
yo haría algo así, en pseudo código
Código SQL [-]
select EMPLEADOS.Nombre, EMPLEADOS.Apellidos,
max( case when TMARCACIONES.hora entre 8:00 y 9:00 then TMARCACIONES.hora else 0) AS ENTRADA,
max( case when TMARCACIONES.hora entre 12:00 y 13:00 then TMARCACIONES.hora else 0) AS SALIDA_ ALMUERZO,
max( case when TMARCACIONES.hora entre 14:00 y 15:00 then TMARCACIONES.hora else 0) AS ENTRADA_TARDE,
max( case when TMARCACIONES.hora entre 18:00 y 19:00 then hora else 0) AS SALIDA_JORNADA
FROM TMARCACIONES WHERE CAST(HORA as Date) = :Fecha
inner join EMPLEADOS ON EMPLEADOS.ID_EMPLEADOS = TMARCACIONES.ID_EMPLEADOS
group by EMPLEADOS.Nombre, EMPLEADOS.Apellidos


Ni with ni chanflainas. Supongo que es lo mismo que

Código SQL [-]
select TABLA.* from 
( select campo1, campo2 from TABLAX  bla bla bla ) TABLA
group by bla bla 
order by bla bla

Sólo falta ver qué pasa cuando una persona no ficha entre esas horas, excepciones de salidas la médico, etc etc que deberían ser recogidas también.


Espero que te sirva de ayuda.

Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita