Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 查询以查找延迟发货的零件,并按季度列出它们_Sql_Database - Fatal编程技术网

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;