Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Запрос. не могу  [new]
Стт
Guest
Таблица Object
ID
Id_comp
Id_sotr
Id_street1
Id_street2

Таблица streets
Id
Name


Таблица Comp
Id
Name


Таблица sotr
Id
name

Как видно три последние - типа справочники. Первая - дочерняя. форейкейнов между таблицами нет, поэтому дочерняя сущность заполнялась с ошибками. Необходимо вернуть таблицу вида Object со всеми изначальными записями, но! там где в Object проставлен айдишник которого нет в справочнике было значение NULL. (реляционным языком: если н-р, object.id_street1 not in (select id from Comp) значение id_street1 должно быть NULL)
7 июл 08, 20:47    [5899233]     Ответить | Цитировать Сообщить модератору
 Re: Запрос. не могу  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 10045
RTFM outer join.

SY.
7 июл 08, 20:55    [5899252]     Ответить | Цитировать Сообщить модератору
 Re: Запрос. не могу  [new]
Стт
Guest
Я понимаю что здесь используется outer join, я не понимаю как использовать данные полученные left outer join для замены значения атрибута.
7 июл 08, 21:02    [5899273]     Ответить | Цитировать Сообщить модератору
 Re: Запрос. не могу  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 10045
SELECT  Objects.Id,
        Comp.Id Id_comp,
        Sotr.Id Id_sotr,
        Streets1.Id Id_street1,
        Streets2.Id Id_street2,
  FROM  Objects,
        Comp,
        Sotr,
        Streets Streets1,
        Streets Streets2
  WHERE Comp.Id(+) = Objects.Id_comp
    AND Sotr.Id(+) = Objects.Id_sotr
    AND Streets1.Id(+) = Objects.Id_street1
    AND Streets2.Id(+) = Objects.Id_street2
/

SY.
7 июл 08, 21:24    [5899316]     Ответить | Цитировать Сообщить модератору
 Re: Запрос. не могу  [new]
Стт
Guest
блин долбился и не понимал что он сразу вывел то, что нужно, я думал надо еще какие-нибудь операции со столбоцом произвести. спасибо.
7 июл 08, 23:00    [5899490]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить