Ok, here is my issue...In my column below TESTER, I get a NULL value for one of the values. That is what I expect. But, when I use the same SQL in my CASE statement, it ALWAYS evaluates to the ELSE, and never to the WHEN NULL. What exactly do I need to do in order to do this?DECLARE @reportDate datetimeDECLARE @startDateMonthly datetimeDECLARE @protocolID intSET @reportDate = '2/1/2007'SET @startDateMonthly = '5/1/2007'SET @protocolID = 152DECLARE @EnrollmentGoal intDECLARE @NoUSSites intDECLARE @NoSites intSELECT @EnrollmentGoal = intEnrollmentGoal, @NoUSSites = intNoUSSites, @NoSites = intNoSitesFROM tblProtocol WHERE intProtocolID = @protocolID SELECTYear(am.theDate),DATENAME(month,am.theDate) as TheMonth,am.theDate,(SELECT intTransactionID FROM tblEnrollment e2 INNER JOIN tblSiteAlias ON (e2.intAliasID = tblSiteAlias.intAliasID and tblSiteAlias.intProtocolID = @protocolID)WHERE YEAR(am.theDate) = YEAR(e2.dtmReportedDate) AND MONTH(am.theDate) = MONTH(e2.dtmReportedDate)) AS TESTER,CASE(SELECT intTransactionID FROM tblEnrollment e2 INNER JOIN tblSiteAlias ON (e2.intAliasID = tblSiteAlias.intAliasID and tblSiteAlias.intProtocolID = @protocolID)WHERE YEAR(am.theDate) = YEAR(e2.dtmReportedDate) AND MONTH(am.theDate) = MONTH(e2.dtmReportedDate)) WHEN NULL THEN (SELECT TOP (1) tblEnrollment.intEnrollment FROM tblEnrollment INNER JOIN tblSiteAlias ON tblEnrollment.intAliasID = tblSiteAlias.intAliasID WHERE (tblSiteAlias.intProtocolID = @protocolID) AND (tblEnrollment.dtmReportedDate < am.theDate) AND (tblEnrollment.intEnrollment > 0)ORDER BY tblEnrollment.dtmReportedDate DESC) ELSE (SELECT TOP 1 IsNull(SUM(intEnrollment),0) FROM tblEnrollment e2 INNER JOIN tblSiteAlias ON (e2.intAliasID = tblSiteAlias.intAliasID and tblSiteAlias.intProtocolID = @protocolID)WHERE YEAR(am.theDate) = YEAR(e2.dtmReportedDate) AND MONTH(am.theDate) = MONTH(e2.dtmReportedDate))END as TotalEnrollment, IsNull(((CONVERT(REAL, @NoUSSites)/@NoSites) * @EnrollmentGoal),0) as USGoal, @EnrollmentGoal as [Enrollment Goal]FROM ALLMONTHS AS am LEFT JOIN tblEnrollment e ON ( YEAR(am.theDate) = YEAR(e.dtmReportedDate) AND MONTH(am.theDate) = MONTH(e.dtmReportedDate) )WHERE am.theDate > @reportDate and am.theDate <= @startDateMonthlyGROUP BY Year(am.theDate),Month(am.theDate),DATENAME(month,am.theDate), am.theDateORDER BY Year(am.theDate) ASC,Month(am.theDate) ASC