пятница, 2 марта 2018 г.

Четыре типа соединения таблиц в языке запросов 1С

!!!!! Соединение служит УМЕНЬШЕНИЮ ОБЪЕМА ВХОДЯЩЕЙ (ЛИШНЕЙ) ИНФОРМАЦИИ! Что выбирать- это условия и т.п..
Синтаксис соединений:
СОЕДИНЕНИЕ <Описание источника> ПО <Условие отбора>

Отсюда
Спецификации "ВНУТРЕННЕЕ" и "ВНЕШНЕЕ" ни на что не влияют (их ввели только для красоты).
А так есть четыре типа соединения : 
ВНУТРЕННЕЕ СОЕДИНЕНИЕ- берем только записи удовлетворяющие условию (ни одного флага Все в конструкторе).

ЛЕВОЕ СОЕДИНЕНИЕ- берем весь источник 
указанный слева от слова СОЕДИНЕНИЕ и присоединяем правый по условию (флаг справа от основной таблицы) 

ПОЛНОЕ СОЕДИНЕНИЕ- берем оба источника и заполняем по условию (установлены оба флага Все)

ПРАВОЕ СОЕДИНЕНИЕ (берем весь правый источник и присоединяем левый по условию)
Внимание! При создании запроса с Правым соединением при помощи конструктора или СКД, создается Левое соединение и меняется расположение таблиц (перемена мест слагаемых!).

Тип соединения в Конструкторе запроса определяется установкой флага Все справа от соединяемых таблиц (видимо Правое соединение не создается конструктором для устранения путаницы?). Справа от какой таблицы установлен флаг Все к той таблице и присоединяется другая. Если выбраны оба- ПОЛНОЕ СОЕДИНЕНИЕ, если ни одного- ВНУТРЕННЕЕ СОЕДИНЕНИЕ.
 Условия соединения описывается в следующей секции- Условие связи.

Комментариев нет:

Отправить комментарий