EquipmentUseId CollectionPointId EmployeeNum ShopOrder StartDateTime
366 69 9999 999999 4/26/13 3:29 PM
373 69 4878 107321 4/26/13 10:19 PM
385 69 4971 107321 4/27/13 7:35 AM
393 69 4179 107325 4/30/13 7:24 AM
394 69 4179 107325 4/30/13 7:38 AM
395 69 4179 107325 4/30/13 10:28 AM
398 69 4179 107325 4/30/13 2:41 PM
399 69 9999 999999 4/30/13 2:43 PM
400 69 9999 999999 4/30/13 2:46 PM
위의 표에서 볼 수 있듯이, 나는 고유 한 문제가 남아 있고 마찬가지로 설명하기가 어려울 수 있습니다. Employee 당 ShopOrder마다 StartDateTime이 있지만 StopDateTime은 없으므로 이것은 의도적으로 설계된 것입니다. 그러나 한 ShopOrder의 StartDateTime과 다음 ShopOrder의 StartDateTime 사이의 시간 차이를 계산할 수 있어야합니다. 예 : SO # 999999가 Employee 9999로 4/26의 15:29에 시작한 다음 Employee 4878에 의해 22:19에 새로운 SO # 107321이 시작됩니다. 4/26의 차이를 계산해야합니다. 26/2013 22:19 및 4/26/2013 15:29. 이렇게하면 SO # 9999에 대한 날짜가 정해지지 만 실제로는 보조 프로세스가 필요합니다. 당분간은 시간을 가질 수 있어야합니다. 하나의 전화 끊기는 SO #가 동일하면 첫 번째 StartDateTime 만 사용하고 다음 SO #의 첫 번째 StartDateTime을 사용합니다. 죄송합니다. 너무 길어서 지금까지 아무 것도 설명하지 못했습니다.여러 행에서 시간의 차이 계산
제발 쉽게 가십시오 ... 긴 하루였습니다.
는 2013년 8월 19일에 출력 편집 : 주말 동안 그것을 넘어서 심사숙고 후
,이 쿼리의 첫 번째 단계로는 EndDateTime를 사용하는 을 가장 좋은 것입니다 결정 전체 응용 프로그램/보고서
또한 EmployeeNum은이 부분의 응용 프로그램과 관련이 없습니다.
이는합니다 ( CollectionPointID 그래서 그들은 출력에 표시 할 필요가 없습니다 항상 69되면, EquipmentUseID는 PK입니다) 보는 방법입니까?
ShopOrder StartDateTime EndDateTime 999999 4/26/13 3:29 PM 4/26/13 10:19 PM 107321 4/26/13 10:19 PM 4/30/13 7:24 AM 107325 4/30/13 7:24 AM 4/30/13 2:43 PM 999999 4/30/13 2:43 PM <next SO# StartDateTime>
이 테이블을 요약하면, 나는 SO #, (테이블에 이미) SO # 당 StartDateTime, 하고 다음의 사실 StartDateTime 인 EndDateTime 필요 그래서#. 바라기를 이것은 그것을 맑게한다, 혼란을 위해 유감스럽게.
는 @randy 없음 지연 – Randy
을 diff를 시간을하고 그 이상 LAG 함수와 루프를 검색 한 후, 먼저 가게 주문 당 최대 날짜를 얻을 인라인 뷰를 사용 SQL 2005의 경우 – Paparazzi
@ ctmcklowe96 주어진 입력에 대해 원하는 출력을 제공 할 수 있습니까? –