Oracle SQL Join с использованием (+) - PullRequest
0 голосов
/ 05 июля 2018

Я хотел преобразовать этот запрос в по-старому , используя (+) :

select * from tbla a
left join tblb b
on b.col = a.col
left join tblc c 
on c.col = a.col

Я пытался:

select * from tbla a, tblb b, tblc c 
where a.col(+) = b.col and a.col(+) = c.col;

Но произошла ошибка:

ORA-01417: таблица может быть внешне присоединена не более чем к одной другой таблице

Ответы [ 2 ]

0 голосов
/ 05 июля 2018

Я думаю, вы должны сделать это следующим образом:

select *
    from (select *
                  from tbla a
                         , tblb b
                 where a.col = b.col(+)
            ) a1
            , tblc c 
    where c.col(+) = a1.col;
0 голосов
/ 05 июля 2018

Я думаю, что вы используете + не на той таблице, попробуйте:

select *
  from tbla a, tblb b, tblc c 
  where a.col = b.col(+) and b.col = c.col(+);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...