Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.25;
Скачать: CL | DM;

Вниз

Помогите пож. составить запрос.   Найти похожие ветки 

 
tria ©   (2004-02-02 14:26) [0]

Есть три таблицы:

Docs - таблица документов
Num:Integer;
IdKlient:integer;
...

Klients - таблица клиентов
Id:integer;
Name:VarChar(50)
IdRegion:integer;

Regions - таблица регионов
Id:Integer;
Name:VarChar(50)

Нужно получить отчет вида:
Docs.Num, Klients.Name, Regions.Name

При этом в таблице Docs IdKlient может быть null, в таблице Klients IdRegion тоже может быть null. Получается вроде как два вложенных left join.
БД - FireBird.


 
Deniz ©   (2004-02-02 14:31) [1]

select d.num, k.name KlientName, r.name RegionName
from Docs d
left join Klients k on (d.IdKlient = k.Id)
left join Regions r on (k.IdRegion = r.Id)
order by d.num, k.name, r.name

Вроде так должно работать!


 
tria ©   (2004-02-02 15:22) [2]

Не совсем так как хотелось бы. Если у клиента не указан регион, то имя клиента не выводится. Или я чего-то напутал.


 
Johnmen ©   (2004-02-02 15:27) [3]

или напутал
или добавить ... and (k.IdRegion is not null)


 
tria ©   (2004-02-02 15:30) [4]

Я ошибся. Все работает. Большое спасибо.



Страницы: 1 вся ветка

Текущий архив: 2004.02.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.044 c
3-79602
Onward
2004-02-02 13:35
2004.02.25
При переносе программы БД на другой комп, выдает ошибку.


1-79841
3APA3A
2004-02-10 21:50
2004.02.25
Добавление файлов в ресурс...


1-79974
dimon1979
2004-02-13 14:40
2004.02.25
Кодировка цвета


8-80045
Tol-123
2003-10-25 19:57
2004.02.25
Размер----ScreenShot


6-80057
Cr@$h
2003-12-19 10:29
2004.02.25
Особенности использования packet32.dll in win2k