¿Cómo crear una consulta en access con huecos cuando no hay dato?
A ver si me podéis ayudar, por muchas vueltas que doy no lo consigo.
Tengo una tabla en la que en una columna tengo el ID_empleado, en la siguiente el DÍA, en la tercera la HORA en la que ha fichado y la cuarta esa misma hora en MINUTOS.
A la hora de elaborar una consulta quiero que me salga el ID_empleado, el DÍA, la HORA DE ENTRADA por la mañana en una columna, la HORA DE SALIDA por la mañana en otra columna, la HORA DE ENTRADA por la tarde y la HORA DE SALIDA por la tarde.
He hecho la consulta poniendo criterios a cada hora, por ejemplo:
HORA DE ENTRADA: >#7:00:00# Y <#11:30:00#
MINUTOS DE ENTRADA: >420 Y <690
Hasta ahí bien. Me sale la consulta pero... Sin huecos, es decir:
1) Si ese empleado no ha fichado una de las 4 veces ese día para él ya no aparece.
2) Si por un casual ha fichado más de una vez en el horario que le he puesto a la variable se me duplica (esto me importa ahora menos).
Os dejo el código para una tabla en minutos:
MEM es minutos entrada mañana, MSM minutos salida mañana...
SELECT Empleados.Nombre, Horario.Día, Horario_1.Minutos AS MEM, Horario_2.Minutos AS MSM, Horario_3.Minutos AS MET, Horario_4.Minutos AS MST
FROM ((((Empleados INNER JOIN Horario ON Empleados.IDEmpleado = Horario.IDEmpleado) INNER JOIN Horario AS Horario_1 ON (Horario.Día = Horario_1.Día) AND (Horario.IDEmpleado = Horario_1.IDEmpleado)) LEFT JOIN Horario AS Horario_2 ON (Horario.Día = Horario_2.Día) AND (Horario.IDEmpleado = Horario_2.IDEmpleado)) LEFT JOIN Horario AS Horario_3 ON (Horario.Día = Horario_3.Día) AND (Horario.IDEmpleado = Horario_3.IDEmpleado)) LEFT JOIN Horario AS Horario_4 ON (Horario.Día = Horario_4.Día) AND (Horario.IDEmpleado = Horario_4.IDEmpleado)
GROUP BY Empleados.Nombre, Horario.Día, Horario_1.Minutos, Horario_2.Minutos, Horario_3.Minutos, Horario_4.Minutos
HAVING (((Horario_1.Minutos)>420 And (Horario_1.Minutos)<690) AND ((Horario_2.Minutos)>691 And (Horario_2.Minutos)<855) AND ((Horario_3.Minutos)>856 And (Horario_3.Minutos)<990) AND ((Horario_4.Minutos)>991 And (Horario_4.Minutos)<1410));
Ayudadme por favor,
Gracias!