У меня была аналогичная задача.
Был журнал учета приборов и подчиненный журнал техсостояния, куда записывались результаты периодических проверок-те хранилась вся история прибора. Текущее состояние прибора-это последняя запись в журнале техсостояний
Я ее решил при помощи подзапроса.
Код:
SELECT * FROM Osnova Os1, Status S1
WHERE
(Os1.ID=S1.IDOsnova) AND
(S1.Dat=(SELECT MAX(Dat) FROM Status S2
WHERE (Os1.ID=S2.IDosnova)))
Суть вот в чем.
Строка
(Os1.ID=S1.IDOsnova)
связывает основныу и подчиненную табл. по ключевому полю.
Выполняется внутренний подзапрос и его результат используется для работы основного запроса. S1,S2 и Os1- это псевдонимы таблиц. Обрати внимание что в подзапросе используется другой псевдоним (S2). Это нужно чтобы подзапрос мог свободно скроллировать по таблице.
Еще замечание
Индексы по дате нужны обязательно, иначе все это будет работать ОЧЕНЬ медленно
Пишу по памяти. Если где-то соврал-извини