Sql 查询以查找延迟发货的零件,并按季度列出它们
我在为这个场景创建查询时遇到了最困难的时刻:Sql 查询以查找延迟发货的零件,并按季度列出它们,sql,database,Sql,Database,我在为这个场景创建查询时遇到了最困难的时刻: 我需要列出所有迟到的部分,并按季度汇总 以下是我到目前为止提出的问题: SELECT DISTINCTROW Format$([InvoiceSub].[Date_Shipped],'\Qq yyyy') AS [Date_Shipped By Quarter] , Sum(InvoiceSub.Quantity) AS [Sum Of Quantity] FROM InvoiceSub INNER JOIN
我需要列出所有迟到的部分,并按季度汇总 以下是我到目前为止提出的问题:
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\u Book\u Sub的表中有一个字段,该字段是[LineItem\u DueDate]。我想在查询中使用它,这样它将显示所有迟到的零件([date\u shipped]>[lineitem\u duedate])。[date_shipped]是零件的实际装运日期,[lineitem_duedate]是零件的到期日期。我知道我需要将这两个字段合并到查询中,但我不知道如何合并。
有人能告诉我怎么做吗?如果我将[LineItem_DueDate]添加到查询中,则它不再按季度对日期求和,而是列出每个记录(因此,在过去10多年中,我没有45个不同季度的记录,而是突然有13000多条记录,因为它列出了查询中包含日期_的每个记录
有人能帮忙吗?尝试在
WHERE
子句中添加过滤器:
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;
尝试在
WHERE
子句中添加筛选器:
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;