![]() |
|
Модераторы: LSD |
![]()
|
|
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 1 Всего: 154 |
Вот такая проблемма, в PL/SQL, когда я использую внешние соединения, (т.е. (+) ), использование операторов OR и IN запрещено, есть ли какая-либо альтернатива?
-------------------- |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 1 Всего: 118 |
Извращенно немного, но так должно работать
select * from unit, collect where unit.id = collect.unit_id union select * from unit, collect where unit.id not in (select collect.unit_id from collect) Дальше сам додумаешь |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 1 Всего: 154 |
да, про Union я знаю.....но все равно тебе спасибо..... а есть ли еще какие нибудь альтернативы?
-------------------- |
|||
|
||||
| Oleg |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 108 Регистрация: 16.9.2002 Репутация: нет Всего: нет |
Что значит "внешние соединения"?.DBMS_PIPE, MESSAGES и тюдю?
Уточнить надо бы. --------------------
...Знающий не доказывает. Доказывающий не знает... |
|||
|
||||
| Medved |
|
||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 1 Всего: 154 |
2Oleg - поясняю: существует два вида объединения таблиц - внешние объедниения и внутренние. внешнее объединение выполняется с помощью конструкции
а внутренне определяется в конструкции WHERE
теперь представьте, что в таблице студенов, не во всех записях проставлено ID курса.... в первом случае выберуться все записи где проставлен и не проставлен ID курса (при внешнем объеденении), а во втором (при внутреннем объеденении), только те, где проставлен ID курса. а оператор UNION используется для объединения результатов двух разных запросов в один набор данных.... но обязательно условие, что количество полей и их тип будут идентичны.... P.S. в Oracle не существует конструкции INNER JOIN....ON, но внешне объединения осущестляются так же как и внтуренние (в констукии WHERE) но после подчиненного значения ставиться знак плюсика в скобках....
-------------------- |
||||||||
|
|||||||||
| Unregistered |
|
|||
|
Unregistered |
В 9i такая конструкция уже осуществима, видимо много звонков к ним было с данной проблеммой.. |
|||
|
||||
![]()
|
| Правила форума "Oracle" | |
|
|
Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Oracle | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |