В начало

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

           

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

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

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

ВЫБРАТЬ

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

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

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

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

 

ИЗ

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

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

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

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

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

             ИЗ

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

            

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

            

             ВЫБРАТЬ

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

                    NULL,

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

             ИЗ

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

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

 

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

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

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

ВЫБРАТЬ

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

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

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

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

ИЗ

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

 

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

 

ВЫБРАТЬ

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

       NULL,

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

ИЗ

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

;

 

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

ВЫБРАТЬ

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

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

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

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

ИЗ

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

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

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

 

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

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

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