create table tblPoints
(
ID integer not null,
DateTime timestamp not null,
IDObject integer default 0,
IDServer integer default 0,
IDClient integer default 0,
IDGame integer default 0,
IDPosition integer default 0,
State varchar(1) default 0,
IDUser integer,
constraint PK_ID_Point primary key (ID, DateTime)
);
Требуется выбрать все IDGame,
- где State = 2 у (select first 1 * from tblPoints where DateTime <=

- где DateTime в диапазоне дат между DTStart и DTEnd and State > 0
Иными словами:
выбрать все активные IDGame ...,
т.е. которые были активированы перед началом указанного диапазона дат
и состояние их не менялось (последняя запись <=

а также с которыми происходили события в указанном диапазоне дат (имеются записи State > 0),
т.е. активные в заданном временном промежутке (и не все время тоже), если имеется таблица истории включения и выключения точек.
Вызывает затруднение выборка:
выбрать для всех IDGame посление перед DTStart записи, у которых State = 2
а также как эти два условия (см. выше) соединить в один запрос.
Заранее спасибо.
Сергей