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

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

Внешние объединение четырех таблиц [D7, IB6.x]


InVariantian ©   (2004-10-03 14:48:00) 

Доброго времени суток! Внешние объединение четырех таблиц. Как это лучше сделать? К примеру... Есть база
Docs
Codd Id_a Id_b Id_c

Spavochnik_A
Id_a Name

Spravochnik_B
Id_b Name

Spravochnik_C
Id_c Name


Если написать следующий запрос
Select Codd
from Docs d, Spavochnik_A a, Spravochnik_B b, Spravochnik_C c
where (d.id_a = a.id_a) and
(d.id_b = b.id_b) and
(d.id_c = c.id_c)

то все работает пока поля id_a, id_b, id_c таблицы Docs имеют не NULL значения. Если хоть одно поле равно NULL, то запись не выводится.


InVariantian   (2004-10-04 10:44:00) [1]

Спасибо. Всё работает...


ЮЮ   (2004-10-04 02:48:00) [2]

Select Codd
from
 Docs d
 LEFT JOIN Spavochnik_A a ON (d.id_a = a.id_a)
 LEFT JOIN Spravochnik_B b ON (d.id_b = b.id_b)
 LEFT JOIN Spravochnik_C c ON (d.id_c = c.id_c)

А WHERE используй по назначению - для отбора записей, - а не для связи таблиц


YurikGL   (2004-10-03 14:57:00) [3]

Не использовать NULL значения или делать для них заглушку.


Наверх

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