날짜 간격의 두 행 간의 차이를 계산하는 방법은 무엇입니까?
날짜 간격을 기준으로 Access 2010 데이터베이스의 데이터를 비교하려고합니다. 예 다양한 구매 주문서의 품목이 있으며이 품목의 창고로의 배송 내력을 유지하고자합니다. 예를 들어, 구매 주문서에는 자재 10 개 분량에 대한 요청이 있으며, 많은 납품으로 부분적으로 납품 할 수 있으며이 납품 일정이 날짜 간격에서 어떻게 달라 졌는지 알고 싶습니다. 날짜 필드를 채우기 위해 다음과 같은 기준이 사용됩니다. 항목에 QtyPending 필드의 업데이트가있는 경우, 현재 행을 booelan 필드로 비활성화하고 현재 업데이트 날짜가 QtyPending 필드를 업데이트하는 새 항목을 만듭니다. 활성 레코드는 항목의 실제 상태입니다. 그래서이 예제와 그
PO POItem QtyPending Date Active 450000/09/2014 FALSE 450000/09/2014 TRUE 4500000122 30 5 03/09/2014 FALSE 4500000122 30 1 04/09/2014 TRUE
등이 항목에 대한 정보를 보유하고 테이블이 첫 번째 항목의 경우, 날짜 01/09부터 04/09에 QtyPending 필드가 고통을하지 못했음을 의미합니다 이는 공급자가 나에게 배달을하지 않았 음을 의미하는 변형이지만, 2009 년 1 월 9 일에서 2008 년 5 월 8 일까지 그는 2 개의 수량을 나에게 배달했습니다. 두 번째 사례의 경우, 03/09부터 04/09까지 공급 업체가 4 개 수량을 제게 인도했습니다. 내가 2014년 4월 9일에 2014년 2월 9일에서 보고서 쿼리를 만드는 것 인 경우에 따라서, 예상되는 결과는 다음과 같다 :
PO POItem QtyDelivered 450000 4500000122 30 4
31/08 /에서 보고서 2014 2014 년 10 월에이 보고서를 만들기 위해 내가 쿼리 함께 올라오고 있지 않다이 출력
PO POItem QtyDelivered 450000 4500000122 30 4
있을 것입니다. 누구든지 나를 도울 수 있습니까?
캔 날짜 스팬 두 개 이상의 기록에 걸릴 간단하지 않았다? '활성'필드는 무엇을합니까? (더 많은 질문을 따르십시오 ... 이것은 매우 명확하지 않습니다!) – Smandoli
요구 사항은 이전 질문 [여기] (http://stackoverflow.com/q/26046828/2144390)과 매우 비슷하게 들립니다. 답변을 확인하고 그들 중 하나가 당신을 도울 수 있는지보십시오. ([내 대답] (http://stackoverflow.com/a/21033184/2144390)에서는 * self-join *을 사용하여 레코드 세트 루핑을 피하는 방법을 보여줍니다. –
활성 필드 인 Smandoli는 FALSE 인 경우 레코드는 항목의 과거 상태를 조회하기위한 내역 목적으로 만 저장됩니다. 그리고 활성 상태가 TRUE이면 항목의 현재 상태를 의미하므로 항목의 실제 상태를 쿼리하려는 경우 수행 할 수있는 유일한 작업은 WHERE Active = TRUE입니다. –