Необходимо разработать отчет, который возвращает последнюю введенную дату курса, когда курс превышал некоторое заданное значение (значение и валюта задаются пользователем в параметрах отчета).
Не понимаю как оптимизировать этот запрос
ВЫБРАТЬ
Период,
Курс
ПОМЕСТИТЬ ВТ_Срез
ИЗ
РегистрСведений.КурсВалют.СрезПоследних(, Валюта = &Валюта И Курс = &Курс)
;
ВЫБРАТЬ ПЕРВЫЕ 1
КурсВалют.Период
ИЗ
РегистрСведений.КурсВалют КАК КурсВалют,
ВТ_Срез КАК ВТ_Срез
ГДЕ ВТ_Срез.Курс < КурсВалют.Курс
Упорядочить по КурсВалют.Период убыв
ВЫБРАТЬ
МАКСИМУМ(КурсыВалютСрезПоследних.Период) КАК Период
ИЗ
РегистрСведений.КурсыВалют.СрезПоследних(, Курс > &Курс И Валюта = &Валюта) КАК КурсыВалютСрезПоследних
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший