Вот вопрос, который ошеломил меня в течение нескольких дней, и я искал и искал, но не смог найти убедительного ответа!2 Внешние соединения на одном столе?
Простой вопрос, почему он ограничен наличием 2 внешних соединений в SQL, на одной таблице, даже с разными используемыми столбцами, проверьте нижеприведенные запросы для лучшего понимания. Также я могу их преодолеть, используя вложенный подзапрос или ANSI-соединения, но тогда почему он даже ограничен в первую очередь с помощью оператора (+)!
В этом вопросе я имею в виду ошибки: «ORA-01417: таблица может быть внешней присоединился к более чем одним другому столу»
То, что я хочу спросить:
Почему это допускается:
select * from
a, b, c
where a.a1 = b.b1
and a.a2 = c.c1
И почему это не допускается:
select * from
a, b, c
where a.a1(+) = b.b1
and a.a2(+) = c.c1
Пожалуйста, оставьте ANSI и Вложенные подзапросы в одиночку
Можете ли вы привести пример того, что вы пытаетесь сделать? Вы должны иметь возможность присоединяться ('inner' или' outer') к той же таблице столько раз, сколько необходимо ... – sgeddes
Как сказал @sgeddes, вы, скорее всего, сбиты с толку. На Oracle – Lamak
отсутствует ограничение «2 Внешних Соединения» Вы имеете в виду «ORA-01417: таблица может быть внешней, соединенной не более чем с одной другой таблицей»? –