#sql
Вопрос:
Вот с чем я борюсь.
Это система синхронизации, и я хочу устранить ошибки.
Попытка выбрать состояние, чтобы получить все записи, в которых есть дубликат «время входа» или дубликат «время выхода» для одного и того же пользователя.
У вас есть employee_ID
и направление.
Данные выглядят примерно так:
ID.......employee_ID.........Direction
1. .........1..................In
2. .........2..................In
3. .........3..................In
4. .........1..................Out
5. .........2..................Out
6. .........3..................In
Таким образом, запись 6 была бы ошибкой.
Комментарии:
1. И ваш подход заключается в том, чтобы …? И это не работает, потому что …?
Ответ №1:
как вы говорите, это система синхронизации, вам нужна метка времени или столбец идентификатора автоматического увеличения, на основе которого вы можете проверить последнее событие (последняя метка времени или максимальный идентификатор) для каждого идентификатора emp перед вставкой (как часть триггера).
Ответ №2:
Вы также можете подумать о том, чтобы иметь одну строку для каждой смены. В этой строке будет содержаться как отметка времени входа, так и выхода. Ваши операции с датами будут намного менее сложными при таком дизайне.