database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 7311 게시물 읽기
No. 7311
근무조별 시간에 따른 실적 집계 쿼리
작성자
쿼리바보
작성일
2024-07-22 11:50
조회수
423

안녕하세요 
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를 참조해서 실적일자와 시간으로 실제 실적이 집계될 계획일을 어떻게 구하면 좋을지 조언 부탁드립니다.

[Top]
No.
제목
작성자
작성일
조회
7314sp_send_dbmail 로 메일보내기 구현 도움 요청입니다.
정길환
2024-12-20
79
7313BOM 추가질문드립니다. 정렬문제 해결요청 드립니다. [2]
박인규
2024-08-14
425
7312MSSQL 배열질문
장원영
2024-07-22
364
7311근무조별 시간에 따른 실적 집계 쿼리
쿼리바보
2024-07-22
423
7310select CHARINDEX(N'亠' , N'수질') 의 결과값이 2가 나오는 이유가 뭘까요?
황수한
2024-07-06
404
7309미러링 오류
미러링
2024-06-17
440
7308쿼리 조언 부탁드립니다. [5]
문의드립니다.
2024-06-13
440
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2025 DSN, All rights reserved.
작업시간: 0.010초, 이곳 서비스는
	PostgreSQL v17.2로 자료를 관리합니다