Книга знаний

Рекламное место пустует
1С:Предприятие / v8 / Приемы программирования / Запросы

v8: Левые внешние соединения

Автор статьи: Волшебник
Последняя редакция №1 от 16.04.06
URL: http://kb.mista.ru/article.php?id=145

Формально они получаются из декартовых произведений таблиц наложением фильтра.
Реально используются индексы.

Суть в том, что в результате есть колонка(и) из первой таблицы и колонка(и) из  СООТВЕТСТВУЮЩЕЙ ЗАПИСИ второй таблицы. (прибавляются справа)

Правое внешнее – лишь аналог левого внешнего, таблицы меняются местами.

Полное внешнее – левое+правое одновременно.

ОСТОРОЖНО: Иногда платформа делает неявные внешние соединения, когда используется разыменование ссылочных полей (через точку). Чтобы немного ограничить количество соединений, можно использовать ВЫРАЗИТЬ. Подробнее см. на ИТС статью «Получение полей через точку от других полей»

Можно делать несколько левых внешних соединений подряд с 2, 3 и т.д. таблицами.

Условие может быть не только на равенство. Например, можно сравнивать на >, <= и т.д. Это может быть полезным в некоторых запросах, например, поиск скидки для контрагента в зависимости от объема продаж (по шкале):

Если нужно взять не все записи, а только первые попавшиеся, то можно использовать функцию МАКСИМУМ и СГРУППИРОВАТЬ.
Закладка

Описание | Рубрикатор | Поиск | ТелепатБот | Захваченные статьи | Установки | Форум
© Станислав Митичкин (Волшебник), 2005-2011 | Mista.ru

Яндекс.Метрика