1. Главная
  2. Документы
  3. Источники данных
  4. Присоединение данных
  5. FullJoinAuto

FullJoinAuto

Выполняет полное внешнее соединение.

Дополнительное описание:

Результатом полного внешнего соединения является таблица, которая включает строки, которые являются результатом внутреннего (аналогично LeftJoin) соединения, плюс строки первой таблицы, не удовлетворяющие условию соединения (в этих строках значения в столбцах второй таблицы заполняются нулем), и строки второй таблицы, которые не удовлетворяют условию соединения (в этих значениях строк в столбцах первой таблицы заполняются нулевыми значениями). В результирующую таблицу включаются ВСЕ поля обеих таблиц.

При использовании FullJoinAuto мы экономим на «соединении» столбцов с одинаковым значением в один.

Упрощенный синтаксис применим в большинстве случаев, встречающихся на практике. Но для успешного применения упрощенного синтаксиса необходимо перед объединением подготовить состав столбцов в исходных таблицах: установить нужные псевдонимы, удалить лишние столбцы, выбрать нужные.

Если желаемый результат не может быть достигнут с использованием упрощенного синтаксиса, следует использовать полную версию синтаксиса.

Формат:

FullJoinAuto (tempTable, joinCondition)

Параметры:

  • tempTable — имя присоединяемой таблицы: $result_1, $result_2 и так далее.
  • joinCondition — условия соединения: result_1.product = product. В условиях можно использовать «and» или «or» для сложных условий.

Возвращаемый тип данных:

Таблица

Пример:

Сотрудники | Last (сотрудник, ставка);
Выработка | GroupBy (сотрудник, часы) | FullJoinAuto ($result_1, сотрудник = result_1.сотрудник) | Compute (зарплата, ставка * часы)

full-join.png
Рисунок 1. Пример FullJoin

Комментарии к примеру. Выбираем ставки сотрудников из Журнала Ставки, помещаем во временную таблицу $result_1. Затем выбираем отработанные часы сотрудников из Журнала Расписание. Выполняем левое соединение по условию сопоставления по сотруднику. Затем рассчитываем заработную плату.