внешние соединения и OR в PL/SQL

 
0
 
Oracle
ava
Medved | 18.12.2002, 06:00
Вот такая проблемма, в PL/SQL, когда я использую внешние соединения, (т.е. (+) ), использование операторов OR и IN запрещено, есть ли какая-либо альтернатива?
Comments (5)
ava
AntonSaburov | 18.12.2002, 21:13 #
Извращенно немного, но так должно работать

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)

Дальше сам додумаешь smile
ava
Medved | 20.12.2002, 04:55 #
да, про Union я знаю.....но все равно тебе спасибо..... а есть ли еще какие нибудь альтернативы?
ava
Oleg | 29.12.2002, 02:33 #
Что значит "внешние соединения"?.DBMS_PIPE, MESSAGES и тюдю?
Уточнить надо бы.
ava
Medved | 29.12.2002, 03:05 #
Цитата


Что значит "внешние соединения"?.DBMS_PIPE, MESSAGES и тюдю?

Уточнить надо бы.



2Oleg - поясняю:
существует два вида объединения таблиц - внешние объедниения и внутренние.

внешнее объединение выполняется с помощью конструкции


INNER JOIN
ON


а внутренне  определяется в конструкции WHERE

SELECT *
FROM Student A, Kurs B
WHERE A.Kurs_ID = B.ID


теперь представьте, что в таблице студенов, не во всех записях проставлено ID курса....

в первом случае выберуться все записи где проставлен и не проставлен ID курса (при внешнем объеденении), а во втором (при внутреннем объеденении), только те, где проставлен ID курса.

а оператор UNION используется для объединения результатов двух разных запросов в один набор данных.... но обязательно условие, что количество полей и их тип будут идентичны....



P.S. в Oracle не существует конструкции INNER JOIN....ON, но внешне объединения осущестляются так же как и внтуренние (в констукии WHERE) но после подчиненного значения ставиться знак плюсика в скобках....


SELECT *
FROM Student A, Kurs B
WHERE A.Kurs_ID = B.ID(+)




ava
guest | 31.01.2003, 22:17 #
Цитата


Pegas

в Oracle не существует конструкции INNER JOIN....ON


В 9i такая конструкция уже осуществима, видимо много звонков к ним было с данной проблеммой..

Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
advanced
Submit