Try this:I used ISNULL instead of COALESCE though the effect is the same.Also note that I reformatted your query for easier reading. I used Poor Man's T-SQL Formatter (free extension to SSMS AND VS) but you can use whatever you like:SELECT Tbl_FamiliesProgress_1.TeamAgencyCode ,( SELECT ISNULL(COUNT(dbo.Tbl_FamiliesProgress.FamiliesID),0) AS [July 2014] FROM dbo.Tbl_FamiliesProgress INNER JOIN dbo.Tbl_Families ON dbo.Tbl_FamiliesProgress.FamiliesID = dbo.Tbl_Families.FamiliesID WHERE (dbo.Tbl_Families.Withdrawn IS NULL) AND (dbo.Tbl_Families.DateApproved IS NULL) AND ( dbo.Tbl_FamiliesProgress.FamiliesActionDate BETWEEN CONVERT(DATETIME, '2014-07-01 00:00:00', 102) AND CONVERT(DATETIME, '2014-07-31 00:00:00', 102) ) AND (dbo.Tbl_FamiliesProgress.FamiliesAction = N'panel scheduled for:') ) AS 'July 2014' ,( SELECT ISNULL(COUNT(Tbl_FamiliesProgress_2.FamiliesID),0) AS [Aug 2014] FROM dbo.Tbl_FamiliesProgress AS Tbl_FamiliesProgress_2 INNER JOIN dbo.Tbl_Families AS Tbl_Families_2 ON Tbl_FamiliesProgress_2.FamiliesID = Tbl_Families_2.FamiliesID WHERE (Tbl_Families_2.Withdrawn IS NULL) AND (Tbl_Families_2.DateApproved IS NULL) AND ( Tbl_FamiliesProgress_2.FamiliesActionDate BETWEEN CONVERT(DATETIME, '2014-08-01 00:00:00', 102) AND CONVERT(DATETIME, '2014-08-31 00:00:00', 102) ) AND (Tbl_FamiliesProgress_2.FamiliesAction = N'panel scheduled for:') ) AS 'Aug 2014'FROM dbo.Tbl_FamiliesProgress AS Tbl_FamiliesProgress_1INNER JOIN dbo.Tbl_Families AS Tbl_Families_1 ON Tbl_FamiliesProgress_1.FamiliesID = Tbl_Families_1.FamiliesIDWHERE (Tbl_Families_1.Withdrawn IS NULL) AND (Tbl_Families_1.DateApproved IS NULL) AND ( Tbl_FamiliesProgress_1.FamiliesActionDate BETWEEN CONVERT(DATETIME, '2014-07-01 00:00:00', 102) AND CONVERT(DATETIME, '2014-07-31 00:00:00', 102) ) AND (Tbl_FamiliesProgress_1.FamiliesAction = N'panel scheduled for:')GROUP BY Tbl_FamiliesProgress_1.FamiliesAction ,Tbl_FamiliesProgress_1.FamiliesActionDate ,Tbl_FamiliesProgress_1.TeamAgencyCode ,Tbl_Families_1.DateApproved ,Tbl_Families_1.Withdrawn