근태조회문의 드립니다.

다은빈아빠 2014.06.03 09:25 Views : 3615

nEventLogIdn nDateTime nReaderIdn nEventIdn nUserID nIsLog nTNAEvent nIsUseTA nType

2001613

1401784173

32166

55

183

0

0

0

0

2000546

1401663527

32166

55

183

0

1

0

0

2000346

1401611581

32166

55

183

0

0

0

0

2000113

1401526007

32166

55

183

0

0

0

0

1999986

1401490693

32165

55

183

1

1

0

0

1999635

1401439378

32166

55

183

0

0

0

0

1999497

1401397114

32166

55

183

0

0

0

0

1999301

1401352654

32166

55

183

0

0

0

0

위와같이 데이터가 있을 경우 nDateTime 가 출퇴근시간이고 출근일 경우 nTNAEvent 가 0 퇴근일 경우 1 이 됩니다.

단지 출근이나 퇴근기록이 여러개가 있을수 있어 출근은 nDateTime 가 같은날 최소값일때 퇴근은 최대값일때로 뽑아야 합니다.

문제는 주간 야간 2교대로 되어있어서 만약 nTNAEvent가 0인데 시간이 17시 보다 크면 야간조로 판단해서

다음날 09시 이전에 최대 nDateTime으로 해서 퇴근을 조회하고 싶습니다. 정리하자면 아래 표와 같습니다.

Nuserid ADATE

nTNAEvent1

STIME

nTNAEvent2

ETIME

183

2014-05-31

0

08:46:47

1

08:46:47

183

2014-05-30

0

08:42:58

1

22:58:13

183

2014-05-29

0

08:37:34

1

20:58:34

183

2014-05-28

0

08:54:25

1

20:59:26

183

2014-05-27

0

08:32:40

1

22:58:05

183

2014-05-26

0

08:51:05

1

21:00:09

183

2014-05-24

0

08:47:22

1

20:58:39

 

부족한 쿼리는 아래 처럼 했지만 주야간구분과 nTNAEvent1,nTNAEvent2를 어떻게 처리해야 될지 헤매고 있습니다.

 

SELECT Nuserid

, CONVERT(CHAR(10), DATEADD(s,ndatetime,'1970-01-01 00:00:00'), 121) ADATE

, MIN(SUBSTRING(CONVERT(VARCHAR(30),DATEADD(s,ndatetime,'1970-01-01 00:00:00'),121),12,8) ) STIME

, MAX(SUBSTRING(CONVERT(VARCHAR(30),DATEADD(s,ndatetime,'1970-01-01 00:00:00'),121),12,8) ) ETIME

FROM TB_EVENT_LOG  

WHERE nUserID=183 AND CONVERT(CHAR(10), DATEADD(s,ndatetime,'1970-01-01 00:00:00'), 121) BETWEEN '2014-01-01' AND '2014-05-31'

GROUP BY Nuserid,CONVERT(CHAR(10), DATEADD(s,ndatetime,'1970-01-01 00:00:00'), 121)

ORDER BY 2 DESC

No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 41813
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 22519
7923 한 필드에 데이터가 너무 많습니다. 엑셀로 내려 받으려면 [2] 와우호스트 2014.06.09 3173
7922 해당 쿼리를 만들려고 하는데 ... 도저히 않되네요... [7] ssunsori 2014.06.08 2829
7921 스칼라 서브쿼리 관련된 질문 드려요 ㅠㅠ [3] 으리 2014.06.08 3217
7920 Option Recompile 에 대한 사이드이펙트가 있을까요? [4] 프리윈드 2014.06.07 3281
7919 쿼리점 만들어주셍 ㅠㅠ [1] 입문mysql 2014.06.06 2463
7918 증감수 다른 것으로 여쭤봐용 ㅜㅠ [2] 마힐링 2014.06.05 2760
7917 복합키와 대체키 성능관련하여 질문합니다. AceCarrot 2014.06.05 4607
7916 프로시저 작성중 [1] hhhh 2014.06.05 2269
7915 백분률 구할려고 하는데요. 쿼리좀 봐주세요. [4] ssunsori 2014.06.05 2929
7914 데이타가 좀 많아서 속도가 엄청 느려요,,,ㅜㅜ [2] 꼽냐™ 2014.06.05 2536
7913 인덱스 질문입니다. 희망나라 2014.06.03 2429
7912 테이블 가공 질문입니다.. 쿼리.. [3] 스타카토 2014.06.03 2616
7911 2008 버전에는 백분률 함수가 없나요? [2] ssunsori 2014.06.03 2682
7910 업데이트 방법... [2] 마힐링 2014.06.03 2315
» 근태조회문의 드립니다. [2] 다은빈아빠 2014.06.03 3615
7908 데이터 형식 ntext 및 varchar이(가) not equal to 연산자에서 호환되지 않습니다. [1] SQL은힘들다 2014.06.02 12940
7907 밑에 프로시저 재질문~ㅠ [2] 잉유 2014.06.02 2553
7906 MSSQL 2005에서 [1] 우잘쓰 2014.06.02 3008
7905 Disk Writing 성능 이슈 [6] 서지채 2014.06.02 3120
7904 프로시저 모니터링 관련 DMV 질문이요..(dm_exec_procedure_stats) [8] 쿨키이드 2014.06.02 4029





XE Login