Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Valor da coluna de seleção externa na subconsulta unida?


Sua consulta interna é uma subconsulta correlacionada, mas não pode ver table1. Esta é uma restrição no MySQL - veja Manual do MySQL - D. 3. Restrições de subconsultas . Mais ou menos na metade do caminho diz:

Embora a subconsulta faça parte de uma expressão LEFT JOIN, ela faz parte da cláusula FROM.

Esta reformulação pode fazer o trabalho para você:
SELECT table1.id, 
       (SELECT COUNT(*)
        FROM table2
        WHERE table2.lt > table1.lt
        AND table2.rt < table1.rt) AS cnt
FROM table1;