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

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

запрос по двум связанным таблицам [D6, Access]


Алексей 2 ©   (2004-04-08 08:15:00) 

Мастера! Есть две связанные таблицы: Организации и Названия
каждой организации соответствует несколько названий
в разные периоды времени, период определяется полями
DATEBEGIN и DATEEND. нужно построить запрос,
который выберет данные из Организации + название, актуальное
на некую дату, причем каждой организации должна соответствовать
одна запись, даже если периоды перекрываются.


ЮЮ   (2004-04-08 08:29:00) [1]

WHERE
    ((Названия.DATEBEGIN IS NULL) OR (Названия.DATEBEGIN <=:Date)) AND
((Названия.DATEEND IS NULL) OR (Названия.DATEEND >=:Date))


ЮЮ   (2004-04-08 08:27:00) [2]

SELECT Организации.*, OrgOneName.Name
FROM
 Организации
 LEFT JOIN (
   SELECT OrgID, Max(Name) Name
   FROM Названия
   WHERE
     ((Названия.DATEBEGIN IS NULL) OR (Названия.DATEBEGIN <=:Date)) AND
DATEENDDATEBEGIN IS NULL) OR (Названия.DATEEND >=:Date))
   GROUP By OrgID
 ) OrgOneName ON Организации.Id = OrgOneName.OrgId


Наверх

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