# Multi Join

Multi Join allows for the combination of N tables into a single table, based on a series of common columns.

<figure><img src="/files/LEznm83oBeamRJOBcu5V" alt=""><figcaption></figcaption></figure>

### Input / Output

| Input                             | Output                                                        |
| --------------------------------- | ------------------------------------------------------------- |
| **Table\[s] to join** - any table | A single table with merged data from all of the input tables. |

### Joins

To configure the tool, you will need to select the joining columns for each pair of tables you want to join. For each join you must select a table and column on the left side that will be joined with a table and column on the right side. You will need to define N-1 joins to join N tables together.

### Additional Options

| Option     | Description                                                                                                                               |
| ---------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| Inner Join | If checked, only rows that join from all inputs will result (i.e. an inner join). If unchecked, all rows will result (ie. an outer join). |

{% hint style="info" %}
*Tip: use the Multi Join* tool *instead of chaining several* [*Join*](/cascade/tools/combine/join.md) *steps together.*
{% endhint %}

## Example #1&#x20;

Let's say we have three tables **Orders**, **Shipments**, and **Customers**, and our goal is to create a single unified table of all orders, corresponding shipments, and have each order enriched with customer information. You would need to perform *two* joins:

* Orders.OrderID <-> Shipments.OrderID
* Orders.CustomerID <-> Customers.CustomerID

If you wish to include all orders that have not yet been shipped, you would need to uncheck the Inner Join config option.&#x20;

## Example #2

Say for example you have three tables **OnlineCustomers**, **StoreVisitors**, and **Demographics,** and all three need to be joined together on the *same email field.* You simply need to define two joins:

* OnlineCustomers.Email <-> StoreVisitors.Email
* StoreVisitors.Email <-> Demographics.Email

### Suggested Articles

{% content-ref url="/pages/skX9QoSAm5SzA7U542O9" %}
[Understanding the Join options in the Cascade Join tool](/cascade/cascade-faqs/knowledge-based/understanding-the-join-options-in-the-cascade-join-tool.md)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.cascade.io/cascade/tools/combine/multijoin.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
