Здравствуйте.
Не могу разобраться с причиной ошибки в запросе.
Есть запрос:
select main.table_name, main.constraint_name
from (
select ucc.table_name, ucc.constraint_name, COUNT(ucc.column_name) as nr_columns
from User_cons_columns ucc, User_constraints uc
where ucc.table_name = uc.table_name and
ucc.constraint_name = uc.constraint_name and
uc.constraint_type = "R"
group by ucc.table_name, ucc.constraint_name
) main
where
(
select max(coincidence_ind.n)
from (
select count(uic.index_name) as n
from User_ind_columns uic, (
select ucc.table_name, ucc.constraint_name, ucc.column_name, ucc.position
from User_cons_columns ucc, User_constraints uc
where ucc.table_name = uc.table_name and
ucc.constraint_name = uc.constraint_name and
uc.constraint_type = "R"
) ex
where uic.table_name = main.table_name and
ex.constraint_name = main.constraint_name and
uic.column_name = ex.column_name and
uic.column_position = ex.position
group by uic.index_name
) as coincidence_ind
) < main.nr_columns;
mysql выдаёт ошибку:
ERROR 1054 (42S22): Unknown column 'main.table_name' in 'where clause'
Прав ли я что проблема в большой вложенности?
Заранее спасибо за ваши ответы.