Форум: "Базы";
Текущий архив: 2004.02.25;
Скачать: [xml.tar.bz2];
ВнизПомогите пож. составить запрос. Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.041 c