Registro de asistencia y asistencia en lenguaje SQL
Primero hay una tabla de calendario de fábrica que enumera todos los días laborables, que tiene al menos un campo: días laborables varchar(10).
Esto lo hará:
Seleccione ID,
Tardiness=sum(case when timecgt;'08:00:00' tand timeclt;'09: 00:00' luego 1 else 0 finaliza),
Absentismo=sum(caso cuando timecgt; '08:00:00' y timeclt; '09:00:00' luego 1 else 0 finaliza),
La ausencia=suma (caso cuando timecgt; '09:00:00' o timec es nulo y luego 1 si no 0 finaliza),
Punctures=sum(caso cuando timec es nulo luego 0 más 1 final)
desde
(
SELECCIONAR * DESDE Calendario de planta unión izquierda
(seleccione id,
datec=convert(varchar(10), card_time, 120),
timec=substring(convert(varchar, card_time, 120), 12, 8)
de nombre de tabla
) a
el día laborable=DATEC
) b
por ID
grupo