2011-08-12 3 views
1

나는이 시나리오에 대해 만든 쿼리를 받고 힘든 시간을 보내고 있어요하여 그들을 나열하려면 다음

쿼리 제공 후반 부분을 찾아 분기

내가 늦었 모든 부분을 나열하고 분기별로 합계해야합니다.

SELECT DISTINCTROW 
    Format$([InvoiceSub].[Date_Shipped],'\Qq yyyy') AS [Date_Shipped By Quarter] 
, Sum(InvoiceSub.Quantity) AS [Sum Of Quantity] 
FROM 
    InvoiceSub 
    INNER JOIN 
     Job_Book_Sub 
     ON (InvoiceSub.[Job #] = Job_Book_Sub.[Job #]) 
     AND (InvoiceSub.[LineItem#] = Job_Book_Sub.[LineItem#]) 
GROUP BY 
    Format$([InvoiceSub].[Date_Shipped],'\Qq yyyy') 
, Year([InvoiceSub].[Date_Shipped]) * 4 + DatePart('q', [InvoiceSub].[Date_Shipped]) -1; 


이 쿼리는 분기 출하 된 모든 부분을 표시하기 위해 잘 작동 : 여기

내가 지금까지 가지고있는 쿼리입니다. 그러나 분기별로 늦게 배송 된 모든 부품을보고 싶습니다.


이름이 Job_Book_Sub 인 테이블에 필드가 있고 그 필드는 [LineItem_DueDate]입니다. 나는 그것을 쿼리에 사용하여 늦은 ([date_shipped]> [lineitem_duedate]) 모든 부분을 표시합니다. [date_shipped]는 부품이 배송 된 실제 날짜이고 [lineitem_duedate]는 부품의 만기일입니다. 이 두 필드를 쿼리에 통합해야한다는 것을 알고 있습니다. 어떻게해야할지 모르겠습니다.

누군가가 나를 어떻게 보여 주시겠습니까? [LineItem_DueDate]를 쿼리에 추가하면 더 이상 분기별로 날짜를 합산하지 않고 대신 모든 레코드를 나열합니다. 따라서 과거 10 년 이상 다른 분기로 45 레코드가있는 대신 갑자기 13000+ 기록은 쿼리에 date_shipped와 각 레코드를 나열하기 때문에

수있는 사람의 도움을하시기 바랍니다 WHERE 절에 필터를 추가

답변

1

시도해보십시오.?.

SELECT DISTINCTROW 
    Format$([InvoiceSub].[Date_Shipped],'\Qq yyyy') AS [Date_Shipped By Quarter] 
, Sum(InvoiceSub.Quantity) AS [Sum Of Quantity] 
FROM 
    InvoiceSub 
    INNER JOIN 
     Job_Book_Sub 
     ON (InvoiceSub.[Job #] = Job_Book_Sub.[Job #]) 
     AND (InvoiceSub.[LineItem#] = Job_Book_Sub.[LineItem#]) 
WHERE 
    Job_Book_Sub.[date_shipped] > Job_Book_Sub.[lineitem_duedate] 
GROUP BY 
    Format$([InvoiceSub].[Date_Shipped],'\Qq yyyy') 
, Year([InvoiceSub].[Date_Shipped]) * 4 + DatePart('q', [InvoiceSub].[Date_Shipped]) -1; 
+0

이 좋은 작품 감사합니다. – fraXis