Показать сообщение отдельно
Старый 20.11.2008, 14:12   #4  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,709 / 1201 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Если заменить вложенный запрос на проверку факта существования записей с бОльшим значением даты из заданного диапазона, то все решается достаточно просто

X++:
MyTable myTable, myTable2;
;

select myTable.TransDate, myTable.Key, myTable.Value 
from myTable
where myTable.TransDate <= getdate()

notexists join myTable2
where 
	myTable2.RecId != myTable.RecId
	&& myTable2.key == myTable.key
	&& myTable2.TransDate > myTable.TransDate
	&& myTable2.TransDate <= getdate()
Только здесь нужен дополнительный идетнификатор, позволяющий однозначно определить запись. В данном случае, это RecId.
За это сообщение автора поблагодарили: pyramid (1).