Я создал таблицу (Attendance) для хранения вычислений, и я обновляю таблицу, чтобы заполнить большинство вычислений.Мне нужно выяснить, когда сотрудник (EMP_NB) ушел с работы на день.Это рассчитывается как TIMEDIFF(ADDTIME(PERIOD, '1:00'), SEC_TO_TIME(Activity_Secs))
.
Моя проблема в том, что я не могу найти способ получить МАКС (ПЕРИОД) за EMP_NB за ДАТУ, а также получить соответствующий Activity_Secs.
таблица A
╭────────┬──────┬────────┬───────────────╮
│ EMP_NB │ DATE │ Period │ Activity_Secs │
╰────────┴──────┴────────┴───────────────╯
Вот код MySQL, который я сделал, чтобы получить первый период, когда сотрудник вошел в систему.
UPDATE calc_Attendance AS att, tableA AS a
JOIN (
SELECT
EMP_NB,
DATE,
Period,
Activity_Secs
FROM tableA
GROUP BY EMP_NB, DATE, Period
) m
ON a.EMP_NB = m.EMP_NB and a.DATE = m.DATE and a.Period = m.Period
SET DEPTARTURE_ACTUAL = TIMEDIFF(ADDTIME(m.Period, '1:00'), SEC_TO_TIME(m.Activity_Secs))
WHERE att.EMP_NB = m.EMP_NB AND att.DATE = m.DATE
;
Любая помощь будет принята с благодарностью.У меня нет большого опыта работы с SQL, так что это сводит меня с ума.