Левое внешнее соединение

При левом соединении таблиц Номенклатура и ЕдиницыИзмерения в выборку попадут все записи из справочника Номенклатура и только те записи из справочника ЕдиницыИзмерения, которые соответствуют условиям соединения. Если записи из справочника Номенклатура не соответствует ни одна запись из справочника ЕдиницыИзмерения, поле окажется пустым - в него будет записано значение Null.

Воспользуемся Конструктором запроса для того, чтобы построить запрос по двум таблицам. На рис. 7.21 вы можете видеть вкладку конструктора Таблицы и поля.

Рис. 7.21. Конструктор запроса, вкладка Таблицы и поля

В область Таблицы добавлены таблицы справочников Номенклатура и ЕдиницыИзмерения, в область Поля добавлены поля Номенклатура.Наименование и ЕдиницыИзмерения.Наименование.

Если на вкладке Таблицы и поля задается выборка более чем из одной таблицы, в окне появляется дополнительная вкладка - Связи. На ней задаются связи между таблицами. Перейдем на эту вкладку, рис. 7.22.

Рис. 7.22. Конструктор запроса, вкладка Связи

По умолчанию здесь установлен выбор всех элементов справочника Номенклатура и подбор соответствующих им полей из справочника ЕдиницыИзмерения по следующему условию:

Номенклатура.ЕдиницаИзмерения = ЕдиницыИзмерения.Ссылка

То есть - условие предполагает выполнение равенства реквизита ЕдиницаИзмерения справочника Номенклатура с элементом справочника ЕдиницыИзмерения.

Обратите внимание на поле Все около поля Таблица1, в котором установлена галочка. Такая настройка соответствует правилам левого внешнего соединения, то есть - в запрос попадут все данные из Таблицы1 и лишь соответствующие им данные из Таблицы2. Такое же поле есть и около поля Таблица2. Расстановка галочек в этих полях и определяет вид соединения таблиц.

Сделаем еще некоторые настройки в Конструкторе запроса. В частности, перейдем на вкладку Объединения/Псевдонимы, рис. 7.23.

Рис. 7.23. Конструктор запроса, вкладка Объединения/Псевдонимы

Здесь, в поле Имя поля задаются имена полей результатов запроса. Так как поля разных справочников имеют одинаковые имена (Наименование), здесь мы видим имя Наименование для справочника Номенклатура и Наименование1 для справочника ЕдиницыИзмерения. Для удобства работы изменим эти имена, соответственно, на Номенклатура и ЕдиницаИзмерения, рис. 7.24.

Рис. 7.24. Конструктор запроса, вкладка Объединения/Псевдонимы

Теперь настройки Конструктора окончены, нажмем ОК и выполним полученный запрос, рис. 7.25.

Рис. 7.25. Результат выполнения запроса

Мы получили следующий текст запроса:

ВЫБРАТЬ Номенклатура.Наименование КАК Номенклатура, ЕдиницыИзмерения.Наименование КАК ЕдиницаИзмеренияИЗ Справочник.Номенклатура КАК Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ЕдиницыИзмерения КАК ЕдиницыИзмерения ПО Номенклатура.ЕдиницаИзмерения = ЕдиницыИзмерения.Ссылка

Команда ЛЕВОЕ СОЕДИНЕНИЕ задает способ соединения таблиц.

Этот запрос можно интерпретировать так: выбрать все элементы из справочника Номенклатура и "присоединить" к ним элементы справочника ЕдиницыИзмерения, соответствующие условию.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: