Multi-Table Join
Description
Section titled “Description”The Multi-Table Join step joins many tables (up to 32) in a single operation using a visual join-graph designer, replacing the pattern of chaining several two-table join steps. You add tables, draw joins between their columns, choose a join type and conditions per join, and map the output columns. The editor has four tabs: Tables & Joins, Output Columns, Post-Join Filter, and Advanced (server-set).
For a full walkthrough, see the Multi-Table Join step guide.
Designer
Section titled “Designer”- Add Table — place a source table on the canvas as a card of columns. Each table has an alias (used as
alias.column) that must start with a letter or underscore and can’t be a SQL keyword. - Target Table — the table the joined result is written to.
- Draw joins — drag from a column dot on one table to a column on another to create a join; an optional Label names the edge.
- Inbound Filter — a per-table filter applied before the join.
- Re-fetch from server — refresh a table card’s columns from the latest catalog.
- Tidy Layout / Fit to View — auto-arrange the graph, or zoom to fit; pan and zoom are also manual.
- Undo / Redo / History — step through, review, and restore edits.
- Filter columns… — narrow the columns shown on a table card.
- Export — download the join diagram as an SVG.
Join Types
Section titled “Join Types”| Type | Keeps |
|---|---|
INNER | Rows that match across the joined tables. |
LEFT | All rows from the left table, matched rows from the right. |
FULL | All rows from both tables. |
CROSS | Every combination of rows (no conditions allowed). |
Conditions
Section titled “Conditions”Each non-cross join has one or more conditions combined with AND / OR, using the operators =, <>, <, <=, >, >=, BETWEEN, IS NULL, IS NOT NULL, IN, NOT IN, LIKE, NOT LIKE.
Output
Section titled “Output”On the Output Columns tab, map the result columns from any joined table — add them individually, all at once, or by picking from the canvas; rename, set data type, and aggregate as needed. Same-named columns are auto-prefixed with their source alias to avoid collisions. The Post-Join Filter tab applies an optional filter to the joined result (a SQL HAVING equivalent) before it’s written.
Behavior
Section titled “Behavior”- The join graph is a tree: each table joins into the result through exactly one edge (no cycles), and a table can’t join to itself.
- The configuration is validated both when you save the step and when it runs; errors mark the offending table or join with a ⚠ marker, and Jump to issue navigates to the first problem.