Пишу такой запрос:
ВЫБРАТЬ
Продажи.Номенклатура,
Продажи.Контрагент,
ВЫБОР
КОГДА СУММА(Продажи.Стоимость) > 500
ТОГДА 2
ИНАЧЕ 1
КОНЕЦ КАК Значение
ПОМЕСТИТЬ ВТ_Продажи
ИЗ
РегистрНакопления.Продажи КАК Продажи
СГРУППИРОВАТЬ ПО
Продажи.Номенклатура,
Продажи.Контрагент
;
//////////////////////////////////////////////////////////////////////ВЫБРАТЬ
ВТ_Продажи.Номенклатура,
СРЕДНЕЕ(ВТ_Продажи.Значение) КАК Значение
ИЗ
ВТ_Продажи КАК ВТ_Продажи
СГРУППИРОВАТЬ ПО
ВТ_Продажи.Номенклатура
При компоновке макета умный оптимизатор выкидывает поле Контрагент из первого запроса. Никак не могу придумать как с этим бороться? Версия 8.2.16.352 (MSSQL). Получается следующее:
<query>ВЫБРАТЬ
Продажи.Номенклатура КАК Номенклатура,
ВЫБОР
КОГДА СУММА(Продажи.Стоимость) > 500
ТОГДА 2
ИНАЧЕ 1
КОНЕЦ КАК Значение
ПОМЕСТИТЬ ВТ_Продажи
ИЗ
РегистрНакопления.Продажи КАК Продажи
СГРУППИРОВАТЬ ПО
Продажи.Номенклатура
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВТ_Продажи.Номенклатура КАК Номенклатура,
СРЕДНЕЕ(ВТ_Продажи.Значение) КАК Значение,
ПРЕДСТАВЛЕНИЕССЫЛКИ(ВТ_Продажи.Номенклатура) КАК НоменклатураПредставление
ИЗ
ВТ_Продажи КАК ВТ_Продажи
На самом деле там пакет из 10+ запросов. И среднее значение мне нужно получить не на последнем этапе. Я просто привел простой пример, отражающий суть проблемы.
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.