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에 쌓이는데...일자기준으로 출근과 퇴근을 만들어내야 되서요~
고수님들의 도움 부탁드립니다. |