The following is a query where I need to have a dynamic AND conditionI haven't been able to find any examples of creating dynamic WHERE conditions using IF or CASE. Any help would be greatly appreciated.SELECT COUNT(*) AS Total, CONVERT(varchar(2),DATEPART(hh,tblWODTimeRange.TimeValue)) + ':' + CONVERT(varchar(2),DATEPART(mi,tblWODTimeRange.TimeValue)) AS TimeString FROM tblWODTimeRange CROSS JOIN tblAttendance WHERE tblAttendance.WODHours > 0 AND tblAttendance.Deleted = 0 AND DATEPART(hh,tblAttendance.StartTime) <= DATEPART(hh,tblWODTimeRange.TimeValue) IF (DATEPART(hh,tblAttendance.StartTime) = DATEPART(hh,tblWODTimeRange.TimeValue)) BEGIN AND DATEPART(mi,tblAttendance.StartTime) <= DATEPART(mi,tblWODTimeRange.TimeValue) END AND DATEPART(hh,tblAttendance.EndTime) >= DATEPART(hh,tblWODTimeRange.TimeValue) IF (DATEPART(hh,tblAttendance.EndTime) = DATEPART(hh,tblWODTimeRange.TimeValue)) BEGIN AND DATEPART(mi,tblAttendance.EndTime) >= DATEPART(mi,tblWODTimeRange.TimeValue) END GROUP BY tblWODTimeRange.TimeValue, CONVERT(varchar(2),DATEPART(hh,tblWODTimeRange.TimeValue)) + ':' + CONVERT(varchar(2),DATEPART(mi,tblWODTimeRange.TimeValue)) ORDER BY tblWODTimeRange.TimeValue ASC