В начало

Сравнение вложенного и пакетного запросов

            Ниже приведено сравнение вложенного запроса и запроса с использованием временных таблиц (пакетного запроса) для получения движения денежных средств по контрагентам.

Вложенный запрос

Пакетный запрос

ВЫБРАТЬ

       Контрагентыод,

       Контрагентыаименование,

       СУММА(ВложенныйЗапросуммаПриход) КАК СуммаПриход,

       СУММА(ВложенныйЗапросуммаРасход) КАК СуммаРасход

 

ИЗ

       Справочниконтрагенты КАК Контрагенты

             ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ

                    ПриходДенегонтрагент КАК Контрагент,

                    ПриходДенегумма КАК СуммаПриход,

                    NULL КАК СуммаРасход

             ИЗ

                    ДокументриходДенег КАК ПриходДенег

            

             ОБЪЕДИНИТЬ ВСЕ

            

             ВЫБРАТЬ

                    РасходДенегонтрагент,

                    NULL,

                    РасходДенегумма

             ИЗ

                    ДокументасходДенег КАК РасходДенег) КАК ВложенныйЗапрос

             ПО ВложенныйЗапросонтрагент = Контрагенты.Ссылка

 

СГРУППИРОВАТЬ ПО

       Контрагентыод,

       Контрагентыаименование

ВЫБРАТЬ

       ПриходДенегонтрагент,

       ПриходДенегумма КАК СуммаПриход,

       NULL КАК СуммаРасход

ПОМЕСТИТЬ ДвижениеДенег

ИЗ

       ДокументриходДенег КАК ПриходДенег

 

ОБЪЕДИНИТЬ ВСЕ

 

ВЫБРАТЬ

       РасходДенегонтрагент,

       NULL,

       РасходДенегумма

ИЗ

       ДокументасходДенег КАК РасходДенег

;

 

/////////////////////////////////////////////////////////////

ВЫБРАТЬ

       Контрагентыод,

       Контрагентыаименование,

       СУММА(ДвижениеДенегуммаПриход) КАК СуммаПриход,

       СУММА(ДвижениеДенегуммаРасход) КАК СуммаРасход

ИЗ

       Справочниконтрагенты КАК Контрагенты

             ЛЕВОЕ СОЕДИНЕНИЕ ДвижениеДенег КАК ДвижениеДенег

             ПО (ДвижениеДенегонтрагент = Контрагенты.Ссылка)

 

СГРУППИРОВАТЬ ПО

       Контрагентыод,

       Контрагентыаименование