Привет всем, меня попросили создать таблицу сотрудников, и это было прекрасно.Shift (Rota) Pattens Table SQL
SELECT ID,
EmployeeNo,
Surname,
Forename,
Team,
BadgeNo,
RotaType,
StartDate,
Flex,
DaliyHours,
CurrentTask,
LastUpdated,
LastUpdated_By
FROM CHDS_Sandbox.dbo.emp_PeopleDHL;
Я заметил, что у них был RotaType и спросил, почему.
Хорошо, мне жаль, что у них не было 56 разных ротов и они хотели, чтобы сотрудники могли сканировать штрих-код на своем значке, и он рассказал им, какие смены они работают в течение следующих 7 дней или месяцев.
Итак, я настраиваю 56 разных таблиц для каждого рота или есть способ, который я могу настроить на таблице и запустить запрос, который будет искать дату, а затем RotaType и вывести время, из-за которого они запускаются ?
Ваш вопрос очень расплывчатый - пожалуйста, имейте в виду, что мы не видим ваш экран и понятия не имеем, что такое «Рота». Но, чтобы ответить на ваш первый вопрос: не создавайте 56 таблиц ... Создайте таблицу только для ротов и добавьте внешний ключ в таблицу DHL, которая ссылается на нее. Вы также можете посмотреть в 'JOIN' и' WHERE'. – Siyual
Спасибо Siyual (Rota - график работы) Первый план состоял в том, чтобы иметь столбец для каждой роты и строки для каждого дня. Тогда, когда RotaType и скажут сегодня, перекрестите друг друга, это будет время, которое они начнут сегодня. –
Сначала вам нужно выяснить, что такое _rota_. Возможно, «RotaId», «BaseDate» (дата начала цикла, просто чтобы синхронизировать всех), «DayNumber» (смещение в цикле), «ShiftNumber» (при условии, что есть общие сдвиги). Сдвиги будут определены в другой таблице, например. 'ShiftId',' StartTime', 'EndTime'. (Веселая часть обрабатывает сдвиги, которые охватывают полночь, т. Е. «StartTime»> «EndTime».) Что означает изменение сдвига или поворота, например. применяется ли оно ко всем сразу или только в начале следующего дня/месяца/цикла/лунного цикла? ... – HABO