В 1С 8.2 я нашел достаточно приятной возможность написания пакетных запросов. То есть когда в одном тексте подготавливаешь несколько результатов запроса и используешь в результатирующем. Другой вариант — постепенно приходить к окончательной выборке, разбив сложный запрос на ряд простых.
Подобный механизм можно реализовать и в 1С 7.7 в том случае, если у вас установлена библиотека CPP (v7plus.dll).
Принцип построения практически тот же. Разница в том, что в 1С8.2 можно выбирать результат любого из запросов в пакете. В 1С 7.7, к сожалению лишен такой возможности. Но остальные возможности SQL к вашим услугам.
Суть такова.
|
WITH таблица_1 AS (SELECT f1,f2,f3 FROM my_table_1) SELECT таблица_1.f1 ,таблица_1.f2 ,f3 --можно и так FROM таблица_1 |
Думаю, всё просто, принцип не нуждается в комментариях. Используем в результатирующем запросе алиасы таблиц, заключенные между WITH и AS, в нашем случае это «таблица_1», которая, в свою очередь является результатом запроса. Таких таблиц можно делать сколько угодно. Можно ли делать подобные «пакетные» запросы вложенными, мною не тестировалось. Может быть кому нибудь из читателей захочется попробовать использовать этот принцип во вложенных запросах, буду рад почитать о результатах.
Понравилось это:
Нравится Загрузка...