Доброго времени суток!

To Dmitry Yemanov

Я тут еще немножко поэкспериментировал
и получил следующее (ясно, что этот пример работать не будет):
SQL> select *
CON> from master1 m  left join
CON> (select first 1 * from detail1 d where d.MASTER_ID = m.ID order by d.id) d
CON>    on m.id = d.master_id;
Statement failed, SQLCODE = -206
Dynamic SQL Error
-SQL error code = -206
-Column unknown
-M.ID
-At line 4, column 16

Line 4, column 16 - это d.master_id в on m.id = d.master_id
Видимо, сервер "разворачивает" derived table и проверяет синтаксис запроса только при обращении к ней.
As designed или trivial bug?

С уважением, Евгений.

Ответить