Hi Anjana,
Please give this a try:
SELECT i.ItemCode
,i.ItemName
,w.WhsCode
,ISNULL((SELECT SUM(r.Quantity)
FROM RDR1 r
INNER JOIN ORDR h ON r.DocEntry = h.DocEntry
WHERE WhsCode = [%0]
AND r.ItemCode = i.ItemCode
AND h.DocDate BETWEEN DATEADD(WEEK, -4, GETDATE()) AND DATEADD(WEEK, -3, GETDATE())), 0) AS Quantity_4_WeeksAgo
,ISNULL((SELECT SUM(r.Quantity)
FROM RDR1 r
INNER JOIN ORDR h ON r.DocEntry = h.DocEntry
WHERE WhsCode = [%0]
AND r.ItemCode = i.ItemCode
AND h.DocDate BETWEEN DATEADD(WEEK, -3, GETDATE()) AND DATEADD(WEEK, -2, GETDATE())), 0) AS Quantity_3_WeeksAgo
,ISNULL((SELECT SUM(r.Quantity)
FROM RDR1 r
INNER JOIN ORDR h ON r.DocEntry = h.DocEntry
WHERE WhsCode = [%0]
AND r.ItemCode = i.ItemCode
AND h.DocDate BETWEEN DATEADD(WEEK, -2, GETDATE()) AND DATEADD(WEEK, -1, GETDATE())), 0) AS Quantity_2_WeeksAgo
,ISNULL((SELECT SUM(r.Quantity)
FROM RDR1 r
INNER JOIN ORDR h ON r.DocEntry = h.DocEntry
WHERE WhsCode = [%0]
AND r.ItemCode = i.ItemCode
AND h.DocDate BETWEEN DATEADD(WEEK, -1, GETDATE()) AND GETDATE()), 0) AS Quantity_LastWeek
FROM OITM i
LEFT OUTER JOIN RDR1 r ON i.ItemCode = r.ItemCode
LEFT OUTER JOIN OITW w ON r.WhsCode = w.WhsCode
WHERE w.WhsCode = [%0]
AND ISNULL(i.FrozenFor, 'N') = 'N'
GROUP BY i.ItemCode
,i.ItemName
,w.WhsCode
Regards,
Johan