Между двумя датами, используя цикл в SQL Server - PullRequest
0 голосов
/ 25 мая 2019

Я хочу быть циклом с датой в SQL Server. Дата производства не является частью таблицы, это только виртуальный столбец.Просто показывает отчет.

Мой запрос

ALTER PROCEDURE [dbo].[ProductionSummary]
    @FromDate DATE,
    @ToDate DATE
AS
BEGIN
    SET NOCOUNT ON;

    DELETE tempProductionSummary

    INSERT INTO tempProductionSummary (OrderID, orderno, StyleID, Stylename, ReceivedQty, CuttingQty, CuttingRejectQty, CuttingTargetQty, CuttingReplaceQty, cuttingtosewingIssueQty, SewingTargetQty, SewingQty, SewingRejectQty, FinishingQty, fromdate, ToDate)
        SELECT
            orderID, 
            (SELECT OrderNo FROM dbo.[Order] 
             WHERE (OrderID = orderDetails.OrderID)) AS OrderNo, 
            StyleID,
            (SELECT StyleName FROM dbo.StyleName 
             WHERE (StyleId = dbo.OrderDetails.StyleId)) AS StylenName,
            --Received Qty
            ISNULL((SELECT SUM(FinishQty) AS Expr1 
                    FROM dbo.CuttingReceivedDetails 
                    WHERE (StyleID = OrderDetails.StyleID)    
                      AND (OrderId = orderDetails.OrderID) 
                      AND EntryDate BETWEEN @FromDate AND @ToDate), 0) AS ssss,
            --Cutting Production Qty
            ISNULL((SELECT SUM(ISNULL(TodayCuttingQty, 0)) AS abc 
                    FROM dbo.CuttingProductionNew 
                    WHERE (StyleID = OrderDetails.StyleID)  
                      AND (OrderId = orderDetails.OrderID) 
                      AND CuttingDate BETWEEN @FromDate AND @ToDate), 0) AS ssss,
            --Sewing Line Input
            ISNULL((SELECT SUM(ISNULL(IssueQty, 0)) AS asasa 
                    FROM CuttingToSewing 
                    WHERE (StyleID = OrderDetails.StyleID)
                      AND (OrderId = orderDetails.OrderID) 
                      AND IssueDate BETWEEN @FromDate AND @ToDate), 0) AS ssss, 
            --Sewing Qty
            ISNULL((SELECT SUM(ISNULL(OutputQty, 0)) AS cvcvv 
                    FROM SewingProduction 
                    WHERE (StyleID = OrderDetails.StyleID)
                      AND (OrderId = orderDetails.OrderID) 
                      AND SewingDate BETWEEN @FromDate AND @ToDate), 0) AS ssss, 
            --Sewing Reject Qty
            ISNULL((SELECT SUM(ISNULL(CartonQty, 0) * ISNULL(QtyPcsInCarton, 0)) AS Expr2 
                    FROM dbo.FinishingProduction 
                    WHERE (StyleID = OrderDetails.StyleID)
                      AND (OrderId = orderDetails.OrderID) 
                      AND FinishingDate BETWEEN @FromDate AND @ToDate), 0) AS ssss,
            @FromDate, @ToDate 
        FROM 
            [OrderDetails]
        GROUP BY 
            OrderId, StyleID, DepartmentID 
        HAVING      
            (DepartmentID = 13)
 END

Результаты запроса:

enter image description here

Но мне нужновывод будет как:

3

Как это решить?

Заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...