SET @STARTDATE = '{STARTDATE}'; SET @ENDDATE = '{ENDDATE}'; SELECT CONCAT(se.STARTDATE, '+t') AS 'DATE', se.TITLE AS CALENDAR_EVENT, CONCAT( c.LASTNAME, ', ', c.FIRSTNAME ) AS CUSTOMER FROM schedule_participants sp LEFT JOIN schedule_bookings sb ON sp.BOOKING_ID = sb.BOOKING_ID LEFT JOIN schedule_events se ON sb.COURSE_GUID = se.COURSE_GUID LEFT JOIN customers c ON sp.CUSTOMER_ID = c.CUSTOMER_ID WHERE se.STARTDATE BETWEEN @STARTDATE AND @ENDDATE AND sb.CANCELLED = 0 AND CONCAT( sb.COURSE_GUID, sp.CUSTOMER_ID, DATE( se.STARTDATE )) NOT IN ( SELECT CONCAT( cI.EVENT_SESSION_GUID, ci.CUSTOMER_ID, DATE( ci.POSTDATE )) FROM checkins ci WHERE ci.POSTDATE BETWEEN @STARTDATE AND @ENDDATE ) ORDER BY se.STARTDATE;