Вашата вътрешна заявка е корелирана подзаявка, но изобщо не може да види table1. Това е ограничение за MySQL - вижте Ръководство за MySQL - D. 3. Ограничения за подзаявки . На около половината път надолу пише:
Въпреки че подзаявката е част от израза LEFT JOIN, това е част от клаузата FROM.
Тази преформулация може да ви свърши работа:
SELECT table1.id,
(SELECT COUNT(*)
FROM table2
WHERE table2.lt > table1.lt
AND table2.rt < table1.rt) AS cnt
FROM table1;