Hi @Analyst_SQL
How about this query:
SELECT sales.OrderNo
,sales.Order_Ref_No
,ISNULL(SUM(orders.OrderQty), 0) AS OrderQty
,ISNULL(SUM(probale.Produce), 0) AS Produce
,ISNULL(SUM(orders.OrderQty) - SUM(probale.Produce), 0) AS Pending
,ISNULL(SUM(dispatch_qty), 0) AS Dispatch
FROM #SalesOrder AS sales
LEFT OUTER JOIN
(SELECT Probale_1.OrderNo, SUM(prdqty) AS Produce
FROM #Probale AS Probale_1
WHERE (DelID IS NULL)
GROUP BY Probale_1.OrderNo) AS probale
ON sales.OrderNo = probale.OrderNo
LEFT OUTER JOIN
(SELECT OrderNO, SUM(orderqty) AS OrderQty
FROM #OrderDetail
GROUP BY OrderNO) AS orders
ON sales.OrderNo = orders.OrderNO
LEFT OUTER JOIN
(SELECT B.Orderno,B.PID,COUNT(DISTINCT P.PDID)AS dispatch_qty
FROM #tbl_BalPacM B
JOIN #tbl_PackD P ON B.PID=P.PID
JOIN #SB_Dispatch_D D ON B.PID = D.PID
GROUP BY OrderNO,B.PID) AS Dispatch
ON sales.OrderNo = Dispatch.OrderNO
GROUP BY sales.OrderNo, sales.Order_Ref_No
Best regards,
Cosmog Hong
If the answer is the right solution, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".
Note: Please follow the steps in our Documentation to enable e-mail notifications if you want to receive the related email notification for this thread.