Su consulta interna es una subconsulta correlacionada, pero no puede ver la tabla 1 en absoluto. Esta es una restricción en MySQL; consulte Manual de MySQL - D. 3. Restricciones en subconsultas . Aproximadamente a la mitad, dice:
Aunque la subconsulta es parte de una expresión LEFT JOIN, esto es parte de la cláusula FROM.
Esta reformulación podría hacer el trabajo por usted:
SELECT table1.id,
(SELECT COUNT(*)
FROM table2
WHERE table2.lt > table1.lt
AND table2.rt < table1.rt) AS cnt
FROM table1;