Outer join to a calendar table.(Search calendar table)This puts a simple one inline:DECLARE @basedate datetime;SET @basedate = '20140101';WITH N1(N) AS (SELECT 1 UNION ALL SELECT 1 UNION ALL SELECT 1 UNION ALL SELECT 1 UNION ALL SELECT 1),N2(N) AS (SELECT N1.N FROM N1, N1 AS N2),N(N) AS (SELECT ROW_NUMBER() OVER (ORDER BY N) - 1 AS N FROM N2),CalendarAS( SELECT CONVERT(char(7), DATEADD(month, N, @basedate), 120) AS MonthStr ,DATEADD(month, N, @basedate) AS MonthStart ,DATEADD(month, N + 1, @basedate) AS MonthEnd FROM N WHERE N < 12)--select * from CalendarSELECT C.MonthStr AS IncurredDt ,COALESCE(SUM(CL.NHPLiability), 0) AS Mental_Health FROM dw.dbo.MHClaimLine CL JOIN dw.dbo.MHClaimHeader CH ON CL.ClaimID = CH.ClaimID AND CH.PaidDate BETWEEN '20140101' AND '20140331' AND CH.PolicyNumber = '040MG' AND CH.ClaimStatus IN ('PAID','PAY') AND CH.ResubmittedClaimId = '' RIGHT JOIN Calendar C ON CL.servicedatefrom >= C.MonthStart AND CL.servicedatefrom < C.MonthEndGROUP BY C.MonthStrORDER BY IncurredDt;