Hi Rahul,
This query retrives all the items in the database that were not used in the Productions Orders.
SELECT T3.[ItemCode], T3.[ItemName], Sum(T4.[OnHand]) 'In Stock', Avg(T4.[AvgPrice]) 'Average Price', Sum(T4.[OnHand]) * Sum(T4.[AvgPrice]) 'Value Stock', (
Select max(T5.[DocDate]) from [dbo].[OINM] T5 where T5.[Itemcode] = T3.[Itemcode]) 'Last Use' FROM OITM T3 INNER JOIN OITW T4 ON T3.ItemCode = T4.ItemCode
where T3.[ItemCode] not in (select T2.Itemcode from [dbo].[OWOR] T2 WHERE T2.[PostDate] >=[%0] and T2.[PostDate] <=[%1]) and
T3.[ItemCode] not in (select T2.Itemcode from [dbo].[WOR1] T2 inner join [dbo].[OWOR] T3 on T3.DocEntry = T2.DocEntry WHERE T3.[PostDate] >=[%0] and T3.[PostDate] <=[%1])
group by T3.[ItemCode], T3.[ItemName]
Order by T3.[ItemCode], T3.[ItemName]
Hope it helps,