Repeat the case expression in the group by clause.SELECT Status,CASEWHEN @Type = 1 THEN enumIWHEN @Type = 2 THEN enumMWHEN @Type = 3 THEN enumPEND as sortField,CASEWHEN @Type = 1 THEN COUNT( enumI )WHEN @Type = 2 THEN COUNT( enumM )WHEN @Type = 3 THEN COUNT( enumP )END as expr1FROM Reports RLEFT OUTER JOIN ReportsDetails RDON RD.ReportID = R.ReportIDGROUP BY RD.Status, CASEWHEN @Type = 1 THEN enumI WHEN @Type = 2 THEN enumMWHEN @Type = 3 THEN enumP end