// this works fine
mysql> select teachers.name from school_jobs LEFT JOIN sent_match ON school_jobs.school_jobs_id = sent_match.job_id RIGHT JOIN teachers ON sent_match.teacher_id = teachers.teacher_id WHERE teachers.arrival AND teachers.status != -1 ;
// but this gives me an empty set ...
mysql> select teachers.name from school_jobs LEFT JOIN sent_match ON school_jobs.school_jobs_id = sent_match.job_id RIGHT JOIN teachers ON sent_match.teacher_id = teachers.teacher_id WHERE teachers.arrival BETWEEN school_jobs.arrival -2 AND school_jobs.arrival +2 AND teachers.status != -1 ;
Empty set (0.01 sec)
// the values of school_jobs.arrival and teachers.arrival are both smallints and have been tested to match independently ...