안녕하세요 
SQL 쿼리 작성중 어려운 부분이 있어서 문의해 봅니다.

요일별 근무조의 근무 시간이 작성된 테이블이 있습니다.

TBL_SHIFT

SHIFT_CD DAY_TYPE START_TIME SART_TIME_DAY_TYPE END_TIME END_TIME_DAY_TYPE
FRI1_S1 FRI 0630 D 1500 D
FRI1_S2 FRI 1500 D 2300 D
FRI1_S3 FRI 2300 D 0630 D1
NOR1_S1 NOR 0630 D 1430 D
NOR1_S2 NOR 1430 D 2230 D
NOR1_S3 NOR 2230 D 0630 D1
SAT6_S1 SAT 0630 D 1130 D
SAT6_S2 SAT 1130 D 1630 D
SAT6_S3 SAT 1630 D 2130 D

 

테이블의 구성은 FRI 금요일과 SAT 토요일을 제외한 일자는 NOR로 조를 구성하고 있습니다.

각조의 업무 시작시간(START_TIME) 과 종료시간(END_TIME)으로 구성되어 있으며
3번째 조(S3)의 경우 종료시간 다음날 0630 입니다. 구분을 위해 END_TIME_DAY_TYPE에 당일일 경우 'D', 익일일경우 'D1'으로 표기 하고 있습니다.
그러니까 화~토요일 0630 이전은 이전일 3조의 근무시간 입니다.  

 

TBL_WORK_PLAN        
PLAN_WORK_DT ITEM_CD PLANT_QTY RESULT_QTY COMP_YN
20240717 ITEM_A 120 0 N
20240717 ITEM_B 120 0 N
20240718 ITEM_A 120 0 N
20240718 ITEM_B 120 0 N
20240719 ITEM_A 120 0 N
20240719 ITEM_C 110 0

N

 

품목별 작업계획 테이블이 있습니다.

실적 테이블

TBL_WORK_RESULT      
WORK_YMD WORK_HMS ITEM_CD RESULT_QTY
20240717 063832 ITEM_A 10
20240717 063925 ITEM_B 12
20240717 064002 ITEM_A 2
20240717 091002 ITME_A 48
20240717 093020 ITEM_A 24
20240717 094002 ITEM_B 24
20240717 134002 ITEM_A 12
20240717 142000 ITEM_B 12
20240717 230000 ITEM_A 2
20240717 235021 ITEM_B 20
20240718 002000 ITEM_A 12
20240718 032300 ITEM_B 20
20240718 042240 ITEM_B 10
20240718 062258 ITEM_A 10
20240718 063140 ITEM_B 13
20240718 063640 ITEM_B 12
20240718 064240 ITEM_A 10
20240718 065240 ITEM_A 10
20240718 063832 ITEM_A 10
20240718 063925 ITEM_B 12
20240718 064002 ITEM_A 2
20240718 091002 ITME_A 48
20240718 093020 ITEM_A 24
20240718 094002 ITEM_B 24
20240718 134002 ITEM_A 12
20240718 142000 ITEM_B 12
20240718 230000 ITEM_A 2
20240718 235021 ITEM_B 20
20240718 002000 ITEM_A 12
20240718 032300 ITEM_B 20
20240718 042240 ITEM_B 10
20240718 062258 ITEM_A 10
20240718 063140 ITEM_A 13
20240718 063640 ITEM_C 12
20240718 064240 ITEM_C 10
20240718 065240 ITEM_A 10

이 있습니다.

실적 테이블은 작업한 품목의 실제 날짜와 시간, 수량을 등록 하고 있습니다..

실적 등록시 조별로 등록 하는게 아니라 기계에 찍힌 일자와 시간만으로 등록을 하고 있어서

실적을 집계시 해당 실적이 어떤 계획일의 실적인지를 TBL_SHIFT를 참조해서 가지고 오려고 합니다.

 

결과적으로 계획 테이블에 

TBL_WORK_PLAN        
PLAN_WORK_DT ITEM_CD PLANT_QTY RESULT_QTY COMP_YN
20240717 ITEM_A 120 120 Y
20240717 ITEM_B 120 98 N
20240718 ITEM_A 120 130 Y
20240718 ITEM_B 120 123 Y
20240719 ITEM_A 120 33 N
20240719 ITEM_C 110 22 N

 

집계를 하고 싶은데,
TBL_SHIFT를 참조해서 실적일자별로 계획일을 어떻게 구하면 좋을지 조언 부탁드립니다.

 

 

 

No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 36470
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 19425
10963 변동적인 엑셀파일명을 저장프러시져의 OPENROWSET함수에 전달하는 방법 삼을서생 2024.09.19 64
» 근무조별 시간에 따른 실적 집계 로직 sql바보 2024.07.22 96
10961 중복 없이 유저별 쿼리 문의 [1] file 무심 2024.07.02 150
10960 MS SQL Analysys Services 관련 문의 곰대지 2024.05.16 146
10959 쿼리 중복 제거 질문 로이3439 2024.04.25 204
10958 로그파일 [2] file swimtor 2024.02.17 432
10957 MSSQL 서버 에이전트 문의 [2] 던킹도나츠 2024.02.16 373
10956 분산트랜잭션 관련 문의 푸휴 2024.02.15 228
10955 칼럼을 옆으로 붙이는 방법 [3] 남다른강인함 2024.02.02 350
10954 oracle인데 봐주실 수 있을까요? ㅠㅠ(날짜별 특정 컬럼 누적sum 방법) [1] ais 2024.01.26 213
10953 파편화율 자동 재구성/재생성 TigerHwang 2024.01.11 115
10952 mssql 열을 행으로 바꾸는 쿼리 문의 [2] phh**** 2024.01.05 237
10951 mssql 박스당 중량을 기준으로 주문을 분할하는 쿼리 문의 [2] phh**** 2024.01.04 154
10950 group by 하여 a,b,c 외 2건을 나타내고싶습니다. [1] rusarmata 2023.12.22 145
10949 MSSQL 서버 에이전트 문의합니다. [1] WildWindK 2023.12.21 197
10948 sql 문의 드립니다. 고수님들 알려주세요. file 꿈꾸는개발자0731 2023.12.04 173
10947 depth 가 있는 category 복사에서 ID 가 PK+auto incresement 일 때 [1] 숨어푸 2023.11.17 164
10946 웹페이지에서 DB접속 연결시 [1] 냥냥 2023.11.15 290
10945 서브쿼리 다중행 문의 [1] las**** 2023.11.14 200
10944 MSSQL file table 질문 haka 2023.11.08 98





XE Login