Вам же
Wamr привел пример. Этот запрос можно реализовать в Query. Не пробовали запускать в SQL? Будет возвращать то, что нужно, даже если есть цены и после _DAET
Может, в таком виде будет нагляднее
X++:
SELECT *
FROM MyPrice P1
WHERE P1.TransDate <= _DATE
AND NOT EXISTS(SELECT 1 FROM MyPrice P2
WHERE P2.ItemId = P1.ItemId
AND P2.TransDate <= _DATE
AND P2.TransDate > P1.TransDate)
1 - это константа. Число 1

Надо понимать буквально. Для подзапроса Exists не имеет значения, что именно он вернет. Важен сам факт наличия записи, а не ее содержимое. Поэтому и ставят константу. Хотя "ветераны программирования" предпочитают символ "x" по привычке. Вероятно, потому, что 1 символ - это 1 байт (ну, или 2 для UNICODE). А одно число - это 4 байта. Привычка экономить на всем