Hi @Analyst_SQL ,
Please refer to:
;WITH cte
as(SELECT I.CodeItem,I.Descriptionitem,P.Entrydate,P.BID,P.prdQTY FROM #ItemMasterFile I
JOIN #Probale P ON I.CodeItem=P.CodeItem
WHERE I.Descriptionitem='A' )
,cte2 as
(SELECT c.*,PD.PID,PD.BID BID2 FROM cte c
LEFT JOIN #PackD PD ON c.BID=PD.BID)
,cte3 as
(SELECT c2.*,DD.DID FROM cte2 c2
LEFT JOIN #DispatachD DD ON c2.PID=DD.PID)
,cte4 as
(SELECT Descriptionitem Item,BID Code,Entrydate,NULL Remarks,prdQTY [IN],NULL Pack,NULL [Out] FROM cte3
UNION ALL
SELECT NULL,NULL,Entrydate,PID,NULL,(SELECT DISTINCT prdQTY FROM cte3),NULL FROM #PackM WHERE PID IN(SELECT PID FROM cte3)
UNION ALL
SELECT NULL,NULL,Entrydate,DID,NULL,NULL,(SELECT DISTINCT prdQTY FROM cte3) FROM #DispatchM WHERE DID IN(SELECT DID FROM cte3))
SELECT * FROM cte4
UNION ALL
SELECT 'Total',NULL,NULL,NULL,SUM([IN]),SUM(Pack),SUM([Out]) FROM cte4
When I first read your post, I spent some time looking for [IN], Pack, [Out] calculation rules,but did not find.I suggest you try to explain the calculation rules of all your data when you post a new question, so that you can solve the problem quickly.
Regards
Echo