![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите пож. составить запрос. [IB6.x]
tria © (2004-02-02 14:26:00)
Есть три таблицы:
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.
tria (2004-02-02 15:30:00) [1]
Я ошибся. Все работает. Большое спасибо.
Johnmen (2004-02-02 15:27:00) [2]
или напутал
или добавить ... and (k.IdRegion is not null)
tria (2004-02-02 15:22:00) [3]
Не совсем так как хотелось бы. Если у клиента не указан регион, то имя клиента не выводится. Или я чего-то напутал.
Deniz (2004-02-02 14:31:00) [4]
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
Вроде так должно работать!