Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 full outer join 3 таблицы  [new]
evg.korotkov
Member

Откуда:
Сообщений: 13
необходимо соединить через full outer join 3 таблицы

на 2-х таблицах работает как и положено

на 3-х выдает сообщение ora-00918 'столбец определен неоднозначно', хотя с идентификацией все верно

версия Oracle 9.2.0.8

кто-нибудь знает, как обойти проблему
18 июл 11, 22:30    [10992172]     Ответить | Цитировать Сообщить модератору
 Re: full outer join 3 таблицы  [new]
AmKad
Member

Откуда:
Сообщений: 5222
evg.korotkov,

Перед именами всех столбцов укажи имена (алиасы) таблиц.
18 июл 11, 22:37    [10992211]     Ответить | Цитировать Сообщить модератору
 Re: full outer join 3 таблицы  [new]
ORA__SQL
Member

Откуда: Moscow
Сообщений: 1774
evg.korotkov,
WITH T as (SELECT table A full join table B) 
SELECT table C full join T 
18 июл 11, 22:39    [10992218]     Ответить | Цитировать Сообщить модератору
 Re: full outer join 3 таблицы  [new]
evg.korotkov
Member

Откуда:
Сообщений: 13
спасибо, завтра на работе попробую
18 июл 11, 23:02    [10992269]     Ответить | Цитировать Сообщить модератору
 Re: full outer join 3 таблицы  [new]
evg.korotkov
Member

Откуда:
Сообщений: 13
спасибо, эта ошибка исчезла, но появилась другая

второй full outer join работает как одностороннее внешнее соединение

пробовал соединить пару отношений так

select * from a left outer join b
union
select * from a right outer join b


но тоже получается не то, что нужно
19 июл 11, 18:56    [10996843]     Ответить | Цитировать Сообщить модератору
 Re: full outer join 3 таблицы  [new]
evg.korotkov
Member

Откуда:
Сообщений: 13
пробовал на данных, полученных как

select 1 as id, 'поставщик' as name from dual
union all
select 2 as id, 'покупатель' as name from dual


все работает


может быть, кто-то сталкивался с такой проблемой
19 июл 11, 19:00    [10996859]     Ответить | Цитировать Сообщить модератору
 Re: full outer join 3 таблицы  [new]
evg.korotkov
Member

Откуда:
Сообщений: 13
нашел решение в виде union левого и правого внешнего соединения
некоторые версии Oracle (по-моему до 10g) не поддерживают стандарт ANSI SQL в части операторов left outer join и right outer join
их можно заменить (+)
20 июл 11, 23:02    [11003397]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить