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
운영게시판
최근게시물
Oracle Q&A 39669 게시물 읽기
No. 39669
쿼리(출퇴근) 구현
작성자
스님
작성일
2012-10-03 17:21ⓒ
2012-10-03 17:22ⓜ
조회수
5,045

 

with wt_a as
(
select 'A01' as empno, '0' as gubun, '20120901' as dt, '2230' as tm from dual
union all
select 'A01' as empno, '1' as gubun, '20120902' as dt, '0730' as tm from dual
union all
select 'A01' as empno, '0' as gubun, '20120902' as dt, '2240' as tm from dual
union all
select 'A01' as empno, '1' as gubun, '20120903' as dt, '0740' as tm from dual
union all
select 'A01' as empno, '0' as gubun, '20120903' as dt, '2250' as tm from dual
union all
select 'A01' as empno, '1' as gubun, '20120904' as dt, '0750' as tm from dual
)

select *
from   wt_a
 

위의 결과를 아래와 같이 표현하고 싶습니다.

사번 근무일 출근 퇴근
A01 20120901 22:30 07:30
A01 20120902 22:40 07:40
A01 20120903 22:50 07:50

 

내용은 근무일을 기준으로 다음 출근보다 적은 퇴근시간을 해당 근무일로 적용하고싶습니다.

 

ex) 2012-09-01을 기준으로 출근( gubun = '0')의 퇴근시간은 2012-09-01 이후 퇴근( gubun = '1') 일중 Min값

     단, 2012-09-02 07:30이 2012-09-01의 퇴근건임을 알기위해 2012-09-01 22:30분 이후 출근건이 있음을 확인해야 됨

 

내용이 좀 두서없긴 하지만 요약하면...출근과 퇴근이 각각 한 Row씩 나와서 Table에 쌓이는데...일자기준으로 출근과 퇴근을 만들어내야 되서요~

고수님들의 도움 부탁드립니다.

이 글에 대한 댓글이 총 1건 있습니다.
with wt_a as
(
select 'A01' as empno, '0' as gubun, '20120901' as dt, '2230' as tm from dual
union all
select 'A01' as empno, '1' as gubun, '20120902' as dt, '0730' as tm from dual
union all
select 'A01' as empno, '0' as gubun, '20120902' as dt, '2240' as tm from dual
union all
select 'A01' as empno, '1' as gubun, '20120903' as dt, '0740' as tm from dual
union all
select 'A01' as empno, '0' as gubun, '20120903' as dt, '2250' as tm from dual
union all
select 'A01' as empno, '1' as gubun, '20120904' as dt, '0750' as tm from dual
)
SELECT *
FROM  (
        select EMPNO
             , GUBUN
             , DT
             , TM ATTEND_TM
             , LEAD(TM) OVER(PARTITION BY EMPNO ORDER BY DT, GUBUN DESC) LVFFC_TM
        from   wt_a
      )
WHERE  GUBUN = '0'
 
 
 
햇살한조각님이 2012-10-04 10:43에 작성한 댓글입니다.
이 댓글은 2012-10-04 10:44에 마지막으로 수정되었습니다. Edit
[Top]
No.
제목
작성자
작성일
조회
39672PLSQL 작성 스타일에대해 질문드립니다.
사과나무
2012-10-05
4150
39671교재 추천 부탁드립니다. [3]
윤명철
2012-10-05
4493
39670쿼리 조언 부탁드립니다~~~ [1]
손님
2012-10-05
5064
39669쿼리(출퇴근) 구현 [1]
스님
2012-10-03
5045
39668예외적인 정렬 [1]
휴일근무
2012-10-03
5003
39667오라클 압축 해제가 안됩니다.
이관홍
2012-10-01
5716
39666여러행을 단일행으로 변환중 에러가 발생하였습니다. [2]
껌은요정
2012-09-28
7441
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다