Суммирование журнала биометрии mysql по сменному графику

У меня есть эта таблица с датчика отпечатков пальцев, и мне нужно отобразить результат в одной строке введите описание изображения здесь

проблема в том, что мой сменный график с 8 утра до 4 вечера, с 4 вечера до 12 минут, с 12 минут до 8 утра и обычный график с 8 утра до 5 вечера.

вот как это выглядит с этим codeом

введите описание изображения здесь

я хочу, чтобы время прихода и ухода каждого сотрудника совпадало каждый день, независимо от его расписания. Моя база данных — это база данных MySQL.

`select x.empno,
    x.am_in as am_in,
    x.am_out as am_out,
    x.pm_in as pm_in,
    x.pm_out as pm_out,
    x.ov_in as ov_in,
    x.ov_out as ov_out
from(select empno,
    min(case when punch_code = '0' then punch_datetime end) am_in,
    max(case when punch_code = '1' then punch_datetime end) am_out,
    min(case when punch_code = '2' then punch_datetime end) pm_in,
    max(case when punch_code = '3' then punch_datetime end) pm_out,
    min(case when punch_code = '4' then punch_datetime end) ov_in,
    max(case when punch_code = '5' then punch_datetime end) ov_out

from biometric_log
where punch_code in ('0', '1', '2', '3', '4', '5')
group by empno, punch_datetime
order by empno, punch_datetime
) x
group by x.empno, x.am_in, x.am_out, x.pm_in, x.pm_out, x.ov_in, x.ov_out
order by x.empno;
`
Галактион
Вопрос задан17 апреля 2024 г.

1 Ответ

Ваш ответ

Загрузить файл.