Я могу подтвердить, что это не работает. Я получаю ту же ошибку, что и вы:
select t, y
from ( select 1 t, 2 y
from dual ) aliasQuery
where ( select max(t)
from ( select t
from (select 1 as t from dual) table3
where table3.t = aliasQuery.t)
)>10
Но это так:
select t, y
from ( select 1 t, 2 y
from dual ) aliasQuery
where ( select max(t)
from (select 1 as t from dual) table3
where table3.t = aliasQuery.t
)>10
В переводе на ваш запрос вам придется переписать его так:
select *
from table1
union
select t, y
from ( select *
from table2 ) aliasQuery
where ( select max(t)
from table3 -- no need to add yet another nested select here
where table3.t = aliasQuery.t)
)>10
Я не могу сказать вам, почему ваш синтаксис больше не работает. Это выглядит хорошо для меня. По-видимому, область переименования таблицы больше не достигает дважды вложенного выбора, что мне немного страшно!