Loading TOC...

AccessPlan.prototype.joinLeftOuter

AccessPlan.prototype.joinLeftOuter(
   $rightPlan as String,
   [$ondef as String],
   [$condition as xs.boolean]
) as ModifyPlan

Summary

This method yields one output row set with the rows from an inner join as well as rows from the left row set.

The join performs natural joins between columns with the same identifiers. To prevent inadvertent natural joins, specify a different qualifier for the left or right columns or use different column names for the left and right columns.

Parameters
$rightPlan The row set from the right view.
$ondef The equijoin from one or more calls to the op.on function.
$condition A boolean expression that filters the join output rows. See Boolean Expression Functions for the list of functions used to build boolean expressions.

Usage Notes

joinLeftOuter is a method of the following classes:

The library functions for building the joinLeftOuter parameters are as follows:

Example


// Calculate the total expenses for each employee and return results in order of employee number.

const op = require('/MarkLogic/optic');

const employees = op.fromView('main', 'employees');
const expenses = op.fromView('main', 'expenses');
const totalexpenses  = op.col('totalexpenses');
const Plan =
employees.joinLeftOuter(expenses, op.on(employees.col('EmployeeID'), expenses.col('EmployeeID')))   
   .groupBy(employees.col('EmployeeID'), ['FirstName', 'LastName', expenses.col('Category'),
    op.sum(totalexpenses, expenses.col('Amount'))])
   .orderBy('EmployeeID')
Plan.result();
  

Stack Overflow iconStack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.