Váš vnitřní dotaz je korelovaný poddotaz, ale vůbec nevidí tabulku1. Toto je omezení MySQL - viz Příručka MySQL - D. 3. Omezení dílčích dotazů . Zhruba v polovině cesty je uvedeno:
Přestože je poddotaz součástí výrazu LEFT JOIN, je součástí klauzule FROM.
Toto přeformulování by vám mohlo pomoci:
SELECT table1.id,
(SELECT COUNT(*)
FROM table2
WHERE table2.lt > table1.lt
AND table2.rt < table1.rt) AS cnt
FROM table1;