Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

join в 8 [Oracle]


wicked ©   (2002-02-27 12:05:00) 

кто-нибудь подскажет, как это устроить?... и в общем, где можно найти руководство по plsql"у?...
TIA


wicked   (2002-02-27 13:59:00) [1]

работает... :) спасибо...


fnatali   (2002-02-27 13:51:00) [2]

По логике примера, вроде бы так надо (но могу ошибаться :))
Если в ugody есть id, то
select u.name, t.nametown, ss.namestreet
from ugody u, dovnasp t, (select u.id,s.namestreet from dovvul s,ugody u where s.codstreet = u.codstreet(+)) ss
where t.codtown = u.codtown(+) and ss.id=u.id
and u.dataz is null


fnatali   (2002-02-27 13:28:00) [3]

select u.name, t.nametown
from ugody u, dovnasp t
where t.codtown = u.codtown(+)

Должны получиться все записи из t, даже если нет соответствующих в u. Попробуй проверить на условия по отдельности - может где-то здесь ошибка.


wicked   (2002-02-27 13:10:00) [4]

хм... на += ругнулся... а =+ всё равно работает не так, как хотелось бы...
вот запрос:
select u.name, t.nametown, s.namestreet
from ugody u, dovnasp t, dovvul s
where t.codtown = u.codtown
and s.codstreet = u.codstreet
and u.dataz is null


все дела в том, что в таблицах dovnaspи dovvulнету соответствующих записей...


fnatali   (2002-02-27 13:08:00) [5]

По-моему "как такового join в oracle нет". :)
Во всяком случае,я им не пользовалась. Если ошибаюсь, пусть мастера поправят. Документацию в электронном виде попробую у себя поискать, но не обещаю. :)


wicked   (2002-02-27 13:04:00) [6]

спасибо, именно то... :)
а что, как такового join в oracle нет?... ведь на слово join он просто ругается, что предложение "not properly ended"...


fnatali   (2002-02-27 12:56:00) [7]

Не очень понятно, в чём проблема, но если тебя интересует синтаксис, например, внешнего соединения, то пишется примерно так
select t1.col1,t2.col1
from t1,t2
where t1.col2(+)=t2.col2

t1.col2(+) символ outer join; он может находиться на любой стороне условия в предложении WHERE, но не на обеих сторонах одновременно. Символ помещается за именем столбца таблицы, где не оказывается соответствующих строк.


Наверх

Титульная страница Поиск, карта сайта Написать письмо