isnt it enough to group on DATEPART(wk,[DefinitionDate]) for range of month ? something likeSELECT fields,SUM(CASE WHEN Seq=1 THEN quantity else 0 end) as week1,SUM(CASE WHEN Seq=2 THEN quantity else 0 end) as week2,SUM(CASE WHEN Seq=3 THEN quantity else 0 end) as week3,SUM(CASE WHEN Seq=4 THEN quantity else 0 end) as week4FROM(SELECT ROW_NUMBER() OVER (ORDER BY DATEPART(wk,[DefinitionDate])) AS Seq,DATEPART(wk,[DefinitionDate]) AS WeekNo... FROM [dbo].[CommodityDefinitions]WHERE [DefinitionDate] BETWEEN DATEADD(mm,DATEDIFF(mm,0,GETDATE())-1,0) AND DATEADD(dd,DATEDIFF(dd,0,GETDATE())+1,0))tGROUP BY fields...
replace fields by actual grouping fiuelds and quantity by summating measure