ContactID, StartDutyDateTime, EndDutyDateTime을 가진 모든 사람의 작업을 저장하는 테이블이 있습니다. LEAD/LEG 기능으로 - 의무의 "시작"과 의무의 "끝"을 알 수 있습니다. caclulating REST Time in between 다른 작업 -이 작업이 새로운 날인지 또는 잠깐 쉬었는지 확인할 수 있습니다. 첫 번째 날짜를 selct 할 수없고 마지막 시간을 확인 할 수 없습니다. 내가 순위/행 번호를 시도 ...하지만이 저를 준다 -결합 - LEAD 및 NULL 레코드가있는 LAG inbetween - 그룹/순위?
가 어떻게 함께 의무 당 하나의 행에 병합 할 수 있습니다 리드와
/다리는 내가 발견 난센스 결과.
내가 필요
2014년 5월 13일 5시 0분 0초 - 2014년 5월 13일 13시 25분 0초
2014년 5월 17일 5시 35분 0초 - 2014년 5월 17일 13 : 20:00
(최소 자정) 최대 근무일 당 DateTime (자정 넘음도 고려)을 어떻게받을 수 있습니까?
당신이 사용하고있는 DBMS? 포스트그레스? 신탁? –
MS SQL 2014 데이터베이스 –
이제 모든 레코드가 필터링되었습니다 - 두 열이 모두 null이 아닙니다. CTE에서 DutyEndDateTime = 0의 리드 인을 사용했습니다. 위 목록에서 예상 한 항목이 표시되었지만 몇 천 개가 넘는 매우 느린 목록이 있습니다. 더 빠른 방법이 있습니까? –