Как оказалось, Oracle весьма спустя рукава проверят, чтобы в запросе алиасы таблиц были уникальны. По крайней мере, на 11g. Я за те полчаса, пока свой запрос дебажил, чуть остатки волос не повыдергал, не понимая откуда чушь прёт.
Проверте сами, вот это вот работает:
1 2 3 |
SELECT 1 FROM dual a, dual a |
И даже такое выполняется без ошибки:
1 2 3 4 5 6 |
SELECT 1 FROM dual a CROSS JOIN dual b LEFT JOIN dual a ON a.dummy = b.dummy |
И даже такое! И списку селекта нельзя доверять!!!
1 2 3 4 5 6 |
SELECT a.dummy FROM dual a CROSS JOIN dual b LEFT JOIN dual a ON a.dummy = b.dummy |
Лидеры рынка и всё такое. За эту неземную красоту — мои комплименты, разработчики Oracle.