Сообщение от
lev
да, такое возможно... я думаю что можно это будет учесть. в начале выбрать с помощью джойна, если там ничего не нашлось, тогда получается что достаточно сделать один запрос с указанием периода. он и найдет минимальную цену. Т.е. в итоге метод получится что то типа:
X++:
....
....
if (RetailItemPriceHistory.RecId != 0)
returnPrice = min(RetailItemPriceHistory.NewPrice, RetailItemPriceHistory2.NewPrice);
else
{
select minOf(NewPrice) from RetailItemPriceHistory
where RetailItemPriceHistory.ItemId == itemId
&& RetailItemPriceHistory.InventLocationId == InventLocationId
&& RetailItemPriceHistory.TransDate >= "05.01.2011"
&& RetailItemPriceHistory.TransDate <= "20.02.2011"
&& RetailItemPriceHistory.NewPrice;
returnPrice = RetailItemPriceHistory.NewPrice;
}
return returnPrice;
P.S. в общем конечно этот вариант надо обдумывать с тестированием (гонять на разных вариантах), тогда в итоге можно получить наиболее сбалансированный результат
