Выполняет полное внешнее соединение.
Дополнительное описание:
Результатом полного внешнего соединения является таблица, которая включает строки, которые являются результатом внутреннего (аналогично LeftJoin) соединения, плюс строки первой таблицы, не удовлетворяющие условию соединения (в этих строках значения в столбцах второй таблицы заполняются нулем), и строки второй таблицы, которые не удовлетворяют условию соединения (в этих значениях строк в столбцах первой таблицы заполняются нулевыми значениями). В результирующую таблицу включаются только настроенные в функции fieldName1, … , fieldNameN поля.
Формат:
FullJoin (tempTable, fieldName1 as alias1, … , fieldNameN as aliasN, joinCondition)
Параметры:
- tempTable — имя присоединяемой таблицы: $result_1, $result_2 и так далее.
- fieldName1, … , fieldNameN — имена результирующих полей. Поля, включенные в основную таблицу, обозначаются просто по имени. Поля присоединяемой таблицы вводятся с именем таблицы: result_1.product, result_1.amount.
- alias1, … , aliasN — при необходимости можно задать псевдонимы полей.
- joinCondition — условия соединения: result_1.product = product. В условиях можно использовать «and» или «or» для сложных условий.
Возвращаемый тип данных:
Таблица
Пример:
Сотрудники | Last (сотрудник, ставка);
Выработка | GroupBy (сотрудник, часы) | FullJoin ($result_1, сотрудник, часы, result_1.ставка as ставка, сотрудник = result_1.сотрудник) | Compute (зарплата, ставка * часы)
Комментарии к примеру. Выбираем ставки сотрудников из Журнала Ставки, помещаем во временную таблицу $result_1. Затем выбираем отработанные часы сотрудников из Журнала Расписание. Выполняем левое соединение по условию сопоставления по сотруднику. Затем рассчитываем заработную плату.