Hi @Analyst_SQL
Please check this:
;WITH CTE1 AS
(SELECT I.CodeItem ,SUM(prdQTY)AS Opening_Qty,SUM(Bweight)AS Opening_Weight
FROM #ItemMasterFile I LEFT JOIN #Bigbaleprd B ON I.CodeItem=B.CodeItem
WHERE Entrydate<'08/02/2022'
GROUP BY I.CodeItem,Descriptionitem
),CTE2 AS
(SELECT I.CodeItem ,SUM(prdQTY)AS In_Qty,SUM(Bweight)AS In_Weight
FROM #ItemMasterFile I LEFT JOIN #Bigbaleprd B ON I.CodeItem=B.CodeItem
WHERE Entrydate BETWEEN '08/02/2022'AND '08/02/2022'
GROUP BY I.CodeItem,Descriptionitem
),CTE3 AS
(SELECT D.CodeItem,SUM(prdQTY)AS Out_Qty,SUM(Bweight)AS Out_Weight
FROM #DispatchM M LEFT JOIN #DispatachD D ON M.DID=D.DID
LEFT JOIN #ItemMasterFile I ON I.CodeItem= D.Codeitem
WHERE Entrydate BETWEEN '08/02/2022'AND '08/02/2022'
GROUP BY D.CodeItem,Descriptionitem
)
SELECT UPPER(I.Descriptionitem) AS Item,ISNULL(Opening_Qty,0)AS Opening_Qty,ISNULL(Opening_Weight,0)AS Opening_Weight,
ISNULL(In_Qty,0)AS In_Qty,ISNULL(In_Weight,0)AS In_Weight,ISNULL(Out_Qty,0)AS Out_Qty,ISNULL(Out_Weight,0)AS Out_Weight,
ISNULL(Opening_QTY,0)+ISNULL(IN_QTY,0)-ISNULL(Out_QTY,0) AS Closing_Qty,
ISNULL(Opening_Weight,0) + ISNULL(IN_Weight,0) - ISNULL(Out_Weight,0) AS Closing_Weight
FROM #ItemMasterFile I LEFT JOIN CTE1 C1 ON I.CodeItem =C1.CodeItem
LEFT JOIN CTE2 C2 ON I.CodeItem =C2.CodeItem
LEFT JOIN CTE3 C3 ON I.CodeItem =C3.CodeItem
Output:
Best regards,
LiHong
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.