Я хочу сделать переход вращения в результате
Я хочу сделать переход вращения в результате
Всем Привет,
Нужна помощь для нижеследующего.
Я хочу получить вращательный сдвиг в результате.
Моя таблица выглядит следующим образом :
MachinePunchingData
sEnrollNumber iDateTime
3 2018-04-03 07:11:10.000
3 2018-04-03 23:11:19.000
3 2018-04-03 23:40:29.000
3 2018-04-04 00:11:32.000
3 2018-04-04 01:11:34.000
3 2018-04-04 05:12:09.000
3 2018-04-04 07:10:26.000
3 2018-04-04 23:04:28.000
ShiftMaster
ShiftID ShiftStartTime ShiftEndTime IsRotational Общее Время Работы
1 23:00:00 07:00:00 08:00:00 правда
Эмпмастер
Empid в PunchID(sEnrollNumber) Имени Л. Неймане Метод Isactive ShiftID
1 3 Xyz Xyz true 1
Я хочу ниже привести:
sEnrollNumber iDateTime In/Out AttnDate
3 2018-04-03 07:11:10.000 Out 2018-04-02
3 2018-04-03 23:11:19.000 в 2018-04-03
3 2018-04-03 23:40:29.000 Out 2018-04-03
3 2018-04-04 00:11:32.000 в 2018-04-03
3 2018-04-04 01:11:34.000 Out 2018-04-03
3 2018-04-04 05:12:09.000 в 2018-04-03
3 2018-04-04 07:10:26.000 Out 2018-04-03
3 2018-04-04 23:04:28.000 в 2018-04-04
Проблемы :
Как я буду определять, какой из них для входа, а какой для выхода.
Emplolyee может прийти раньше, чем его смена, например, в 22:00:00
А может быть, поедем в 06:00:00
Сотрудник может прийти поздно : 00:11:01
Идти поздно : 08:11:23
Прошу вас всех, если у вас есть какая-либо идея или решение для этого, то помогите мне.
Спасибо,
Чинтан
Что я уже пробовал:
выбирать
Функции row_number() над(раздел по [sEnrollNumber] приказ [iDateTime] АСК) [PunchNum],sEnrollNumber,
iDatetime,
Литой(iDatetime как дата) как дата2,
Случай когда
Cast([iDateTime] as time) > Cast((select dateadd(mi,-60,StartTime) from shiftMaster where ShiftID=(select ShiftID1 from EmployeeMaster where PunchID=sEnrollNumber)) as time)
и Cast([iDateTime] as time) < Cast((select dateadd(mi,59,StartTime) from shiftMaster where ShiftID=(select ShiftID1 from EmployeeMaster where PunchID=sEnrollNumber)) as time)
и ((функции row_number() над(раздел по [sEnrollNumber] приказ [iDateTime] АСК))%2)=0
затем 'в' еще 'из' конца 'В/' С
PunchingData
где [sEnrollNumber]=3 и iDateTime между '2018-04-01' и '2018-04-30'