Перейти к основному содержимому

Соединения

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

Источник данных строкой

ПредикатДляСоединения = СхЗапрос.Предикат()
.Реквизит("НоменклатураСоединение.Ссылка").Равно("Номенклатура.Родитель")
;

ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Номенклатура.Ссылка,
|НоменклатураСоединение.Ссылка КАК НоменклатураСоединениеСсылка")
.ЛевоеСоединение("Справочник.Номенклатура КАК НоменклатураСоединение", ПредикатДляСоединения)
.ВТаблицуЗначений();

Источник соединения вложенным запросом

ЗапросДляСоединения = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Псевдоним("НоменклатураСоединение");

ПредикатДляСоединения = СхЗапрос.Предикат()
.Реквизит("Ссылка").Равно("Родитель");

ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Номенклатура.Ссылка,
|НоменклатураСоединение.Ссылка КАК НоменклатураСоединениеСсылка")
.ЛевоеСоединение(ЗапросДляСоединения, ПредикатДляСоединения)
.ВТаблицуЗначений();
подсказка

Для вложенных запросов обязательно использование функции Псевдоним

Правое соединение

ПредикатДляСоединения = СхЗапрос.Предикат()
.Реквизит("НоменклатураСоединение.Ссылка").Равно("Номенклатура.Родитель")
;

ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Номенклатура.Ссылка,
|НоменклатураСоединение.Ссылка КАК НоменклатураСоединениеСсылка")
.ПравоеСоединение("Справочник.Номенклатура КАК НоменклатураСоединение", ПредикатДляСоединения)
.ВТаблицуЗначений();

Внутреннее соединение

ПредикатДляСоединения = СхЗапрос.Предикат()
.Реквизит("НоменклатураСоединение.Ссылка").Равно("Номенклатура.Родитель")
;

ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Номенклатура.Ссылка,
|НоменклатураСоединение.Ссылка КАК НоменклатураСоединениеСсылка")
.ВнутреннееСоединение("Справочник.Номенклатура КАК НоменклатураСоединение", ПредикатДляСоединения)
.ВТаблицуЗначений();

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

к сведению

Функционал находится в разработке