Для того чтобы во вложенном запросе было возможно упорядочивание, необходимо, чтобы во вложенном запросе осуществлялось ограничение по количеству получаемых записей. Т.е, вложенный запрос может содержать упорядочивание только в том случае, если он также содержит конструкцию ПЕРВЫЕ.
В качестве примера рассмотрим запрос, который получает объем продаж по пяти самым дорогим товарам. Запрос будет выглядеть следующим образом:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
ВЫБРАТЬ ВложенныйЗапрос.Ссылка, ПродажиОбороты.КоличествоОборот, ПродажиОбороты.СуммаОборот ИЗ (ВЫБРАТЬ ПЕРВЫЕ 5 Номенклатура.Ссылка КАК Ссылка ИЗ Справочник.Номенклатура КАК Номенклатура УПОРЯДОЧИТЬ ПО Номенклатура.ЗакупочнаяЦена УБЫВ) КАК ВложенныйЗапрос ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(,,, Номенклатура В (ВЫБРАТЬ ПЕРВЫЕ 5 Номенклатура.Ссылка КАК Ссылка ИЗ Справочник.Номенклатура КАК Номенклатура УПОРЯДОЧИТЬ ПО Номенклатура.ЗакупочнаяЦена УБЫВ)) КАК ПродажиОбороты ПО ВложенныйЗапрос.Ссылка = ПродажиОбороты.Номенклатура |
В данном запросе вложенный запрос получает пять товаров с самым большим значением поля "ЗакупочнаяЦена", во внешнем запросе полученные товары связываются с регистром продаж, из которого получается информация о продажах. Для ограничения расчета оборотов, в условие таблицы "РегистрНакопления.Продажи.Обороты" также передается список самых дорогих товаров.