op.on( leftCol as String, rightCol as String ) as ondef
Specifies an equijoin using one columndef each from the left and right rows. The result is used by the prototype.joinInner , prototype.joinLeftOuter , and prototype.joinFullOuter , and functions.
Use op.viewCol or op.col if you need to identify columns in the two views that have the same column name.
The default collation for string values in a TDE template is codepoint
.
If you are having problems joining columns that use a different collation, you will need
to change the TDE template to use a matching collation, or change the appropriate range
indexes to use codepoint
.
Parameters | |
---|---|
leftCol | The rows from the left view. |
rightCol | The row set from the right view. |
// 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.joinInner(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: Get the most useful answers to questions from the MarkLogic community, or ask your own question.