HelpF.pro

Использование упорядочивания во вложенных запросах

Для того чтобы во вложенном запросе было возможно упорядочивание, необходимо, чтобы во вложенном запросе осуществлялось ограничение по количеству получаемых записей. Т.е, вложенный запрос может содержать упорядочивание только в том случае, если он также содержит конструкцию ПЕРВЫЕ.

В качестве примера рассмотрим запрос, который получает объем продаж по пяти самым дорогим товарам. Запрос будет выглядеть следующим образом:
Код 1C v 8.х
 ВЫБРАТЬ
ВложенныйЗапрос.Ссылка,
ПродажиОбороты.КоличествоОборот,
ПродажиОбороты.СуммаОборот
ИЗ
(ВЫБРАТЬ ПЕРВЫЕ 5
Номенклатура.Ссылка КАК Ссылка
ИЗ
Справочник.Номенклатура КАК Номенклатура

УПОРЯДОЧИТЬ ПО
Номенклатура.ЗакупочнаяЦена УБЫВ) КАК ВложенныйЗапрос
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(,,,
Номенклатура В
(ВЫБРАТЬ ПЕРВЫЕ 5
Номенклатура.Ссылка КАК Ссылка
ИЗ
Справочник.Номенклатура КАК Номенклатура
УПОРЯДОЧИТЬ ПО
Номенклатура.ЗакупочнаяЦена УБЫВ)) КАК ПродажиОбороты
ПО ВложенныйЗапрос.Ссылка = ПродажиОбороты.Номенклатура


В данном запросе вложенный запрос получает пять товаров с самым большим значением поля "ЗакупочнаяЦена", во внешнем запросе полученные товары связываются с регистром продаж, из которого получается информация о продажах. Для ограничения расчета оборотов, в условие таблицы "РегистрНакопления.Продажи.Обороты" также передается список самых дорогих товаров.
Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq8/view/690.html