Вот так можно
X++:
SELECT *
FROM MyPrice P1
WHERE P1.TransDate <= []
AND NOT EXISTS(SELECT 1 FROM MyPrice P2
WHERE P2.ItemId = P1.ItemId AND P2.TransDate <= [] AND P2.TransDate > P1.TransDate)
добавить ограничения по цене или еще какие на своё усмотрение