У меня есть следующие таблицы с их столбцами (перечислены только соответствующие столбцы):
запись
EntryID (int / auto-inc)
EmployeeNumber (int)
JustifyDate (datetime)
EntryDate (datetime)
Employee
EmployeeNumber (int)
CoreHourID (int)
WorkingFromHome (бит / bool)
час
EntryID (int)
InHour (datetime)
OutHour (datetime)
CoreHour
CoreHourID (int) - не уникально
InHour (int)
OutHour (int)
РЕДАКТИРОВАТЬ: я забыл упомянуть, что CoreHourID не уникальное поле, таблица может выглядеть следующим образом:
+-----------+-------+-------+----------+
|CoreHourId |InHour |OutHour|Identifier|
+-----------+-------+-------+----------+
| 2 | 9 | 12 | 1 |
| 2 | 14 | 17 | 2 |
| 3 | 7 | 11 | 3 |
| 3 | 15 | 18 | 4 |
+-----------+-------+-------+----------+
Извините за большой макет, я действительно не знаю, как правильно разместить информацию в таблице.
Вот попытка объяснить, что я пытаюсь сделать:
Каждый день необходимо вставлять строки в Entry
и Hour
для всех сотрудников, которые WorkingFromHome
. В таблице Entry
должен быть указан соответствующий EmployeeNumber
, а для JustifyDate
он должен добавить любой день, когда выполняется задание. Для поля EntryDate
следует добавить дату этого дня, но часть времени должна быть InHour
от первой соответствующей строки CoreHour
.
Для таблицы Hour
следует добавить EntryID
, который только что был вставлен в таблицу Entry
, а InHour
должен совпадать с EntryDate
, а для поля OutHour
- добавить DateTime на основе последнего OutHour
, соответствующего CoreHourID
.
сотрудника
Я изо всех сил, поэтому любая помощь приветствуется.
PS: Любые комментарии / вопросы относительно моего объяснения приветствуются, и я с удовольствием отвечу.