Я пытаюсь объединить данные из двух совершенно разных источников. Один источник содержит информацию о расписании сотрудника, а другой отслеживает, что они на самом деле работали (например, какое время они на самом деле приняли обед или перерыв). Проблема в том, что программа расписания дает время как BREAK1, BREAK2, BREAK3 и LUNCH, в то время как программа отслеживания просто перечисляет их как Lunch and Break. Я могу присоединиться к данным и получить обеды просто отлично, но перерывы отбрасывают меня. Если я конвертирую BREAK1, BREAK2 и BREAK3 в «Break», я получаю слишком много сегментов, потому что он сопоставляет каждый экземпляр с любым другим экземпляром. Есть ли способ, который каждый может придумать, чтобы присоединиться к этим двум частям информации? Спасибо.Присоединение к полю с различными значениями
EDIT По вашему желанию, здесь некоторые примерные данные:
Это Запланированные Times:
EMP_ID NOM_DATE SEG_CODE START_MOMENT STOP_MOMENT
626009 26-Sep-13 BREAK2 9/26/13 5:00 PM 9/26/13 5:15 PM
625650 26-Sep-13 BREAK2 9/26/13 4:30 PM 9/26/13 4:45 PM
638815 26-Sep-13 BREAK2 9/26/13 4:00 PM 9/26/13 4:15 PM
621649 26-Sep-13 BREAK2 9/26/13 3:30 PM 9/26/13 3:45 PM
567005 26-Sep-13 BREAK2 9/26/13 3:30 PM 9/26/13 3:45 PM
626009 26-Sep-13 LUNCH 9/26/13 2:30 PM 9/26/13 3:30 PM
625650 26-Sep-13 LUNCH 9/26/13 1:30 PM 9/26/13 2:30 PM
638815 26-Sep-13 LUNCH 9/26/13 1:30 PM 9/26/13 2:30 PM
621649 26-Sep-13 LUNCH 9/26/13 12:30 PM 9/26/13 1:30 PM
567005 26-Sep-13 LUNCH 9/26/13 12:30 PM 9/26/13 1:30 PM
626009 26-Sep-13 BREAK1 9/26/13 11:45 AM 9/26/13 12:00 PM
625650 26-Sep-13 BREAK1 9/26/13 11:30 AM 9/26/13 11:45 AM
638815 26-Sep-13 BREAK1 9/26/13 11:45 AM 9/26/13 12:00 PM
621649 26-Sep-13 BREAK1 9/26/13 9:30 AM 9/26/13 9:45 AM
567005 26-Sep-13 BREAK1 9/26/13 9:30 AM 9/26/13 9:45 AM
Это фактическое время
EMP_ID Seg_Code Start_Time Stop_Time
625650 Break 9/26/2013 17:54 9/26/2013 17:55
567005 Break 9/26/2013 14:56 9/26/2013 14:59
567005 Break 9/26/2013 15:32 9/26/2013 15:44
638815 Break 9/26/2013 16:34 9/26/2013 16:47
567005 Break 9/26/2013 10:08 9/26/2013 10:21
626009 Break 9/26/2013 17:01 9/26/2013 17:15
625650 Break 9/26/2013 11:31 9/26/2013 11:45
626009 Break 9/26/2013 11:52 9/26/2013 12:07
621649 Break 9/26/2013 9:34 9/26/2013 9:48
621649 Break 9/26/2013 15:31 9/26/2013 15:45
638815 Break 9/26/2013 11:46 9/26/2013 12:02
625650 Break 9/26/2013 16:35 9/26/2013 16:51
567005 Lunch 9/26/2013 12:31 9/26/2013 13:29
625650 Lunch 9/26/2013 13:31 9/26/2013 14:30
626009 Lunch 9/26/2013 14:31 9/26/2013 15:30
638815 Lunch 9/26/2013 13:31 9/26/2013 14:30
621649 Lunch 9/26/2013 12:31 9/26/2013 13:30
Я пытаюсь t o получить разницу (в минутах) между тем, когда они запланированы, и когда они фактически совершают перерывы. Правильный пример:
Badge Seg_Code Scheduled Start Scheduled Stop Actual Start Actual Stop Difference Seg_Duration
192329 Lunch 9/26/13 8:15 AM 9/26/13 9:15 AM 9/26/2013 8:18:27 AM 9/26/2013 9:17:59 AM 3 0:00:59:32
Еще раз спасибо
RANK в течение дня в течение дня? – zimdanen
Можете ли вы включить структуру таблиц и образцы данных в скрипт SQL? Затем дайте нам ожидаемый результат, и мы сможем сделать это за вас. – Vulcronos
@zimdanen - Я не совсем уверен, что вы говорите? – Dantalion88