Левое соединение таблиц
-

Левое соединение таблиц

0
70474
28.10.2021 Анна Лисовая

Содержание:

1.       Соединение в запросах 1С

2.       Левое соединение в запросе в 1С 8.3

 

1.      Соединение в запросах 1С

Соединение на платформе 1С – это одна из самых популярных и необходимых операций, которая выполняется посредствам реляционных систем по управлению базами данных. Данная операция используется для того, чтобы проводить сопоставление строк в одной из таблиц со строками в другой таблице.   

В случаях, когда внутри системы 1С возникает необходимость отображения данных по нескольким таблицам одновременно, то есть несколько таблиц соединяются в одну общую таблицу, мы пользуемся соединением таблиц данных, а также табличными связями.

Типы соединений таблиц:

1.       Левое соединение;

2.       Правое соединение;

3.       Внутреннее соединение;

4.       Полное соединение.



Рис. 1 Таблицы данных до соединения

Чтобы произвести соединение таблиц в запросе, необходимо прописать условия и типы тех полей, которые нужно связать друг с другом.

2.      Левое соединение в запросе в 1С 8.3

Левое соединение является одним из 4-х возможных видов соединений таблиц. При использовании левого соединения в запросе в 1С 8.3 мы сообщаем системе, что результат должен быть в виде абсолютно всех записей из левой таблицы с добавлением записей из правой таблицы, но только тех, которые подходят по условию связей.

Пусть нужно сделать связку таблиц, основываясь на поле товар. Условие у нас будет равно, тогда результатом будет следующая таблица, которая представлена на примере ниже:


Пусть у программиста есть две различные таблицы: в первой таблице находятся описания различных номенклатур, а во второй – информация по остаткам различных номенклатур, как показано на примерах таблиц ниже:


Рис. 2 Пример результата левого соединения в запросе в 1С

В этом случае текст запроса будет выглядеть следующим образом:   



Рис. 3 Запрос для соединения таблиц данных


В номенклатуре «Стул» нет сопоставления, так как данное поле не соответствует нашему условию, так что поле в общей таблице, после левого соединения таблиц будет иметь значение «NULL». Данное значение обязательно следует подвергнуть обработке при помощи функции «ЕСТЬNULL».

Механизм работы левого соединения в запросе схож с видом цикла внутри другого цикла, а именно: сначала берут первую запись из таблицы слева, после чего это значение «проходит» все записи в таблице справа и проверяет на соответствие условию для связи таблиц. Далее берётся вторая запись из левой таблицы и так далее, пока не произойдёт проверка каждой из записей.

Если под условие для связи подходят несколько пунктов из таблицы справа, то в таблице-результате появится несколько строк. Но, в таком случае, таблица не будет отражать корректную информацию, так что лучше проводить связи опираясь на два поля, в нашем примере, на «Товар» и «Цвет», при этом обязательно произвести обработку значений «NULL».

Таблица будет иметь следующий вид:


Рис. 4 Левое соединение таблиц - результат

А текст запроса, с обработкой, будет выглядеть так:



Рис. 5 Левое соединение в запросе



Специалист компании «Кодерлайн»

Анна Лисовая






Задать вопрос автору статьи
Тема вопроса*
Ваше имя*
E-mail или телефон*
Ваш вопрос*
 

Добавить комментарий
Текст сообщения*
Защита от автоматических сообщений
 
Услуги программиста 1С
Получите специалиста
для решения всех задач
в области 1С
Программы 1С
Цены и подробное описание программ 1С:Предприятие 8.