The Table Join workflow component combines two datasets by matching rows that share a common key column. Use it to attach attributes from one dataset to features or rows in another — for example, joining a spreadsheet of property data to a spatial layer using a shared parcel ID.
When to use Table Join
Use Table Join when:
- You have two datasets that share a common identifier column and you want to merge their columns.
- You want to enrich a spatial layer with non-spatial data from a spreadsheet or database export.
- You need to add calculated or categorised attributes to features without editing the source data directly.
For joining datasets based on geography (spatial proximity or containment) rather than a shared key, use Spatial Join instead.
Inputs
| Input | Type | Description |
|---|---|---|
| Base dataset | Dataset | The primary dataset whose rows are kept. |
| Join dataset | Dataset | The dataset providing extra columns. |
| Join column | Column | The key column in the base dataset. |
| Join column other | Column | The matching key column in the join dataset. |
| How | Selection | The join type — see below. |
Join types
| Type | Rows in result |
|---|---|
| Inner | Only rows where the key matches in both datasets. Unmatched rows are dropped from the result. |
| Left | All rows from the base dataset. Rows with no match in the join dataset have empty values for the joined columns. |
| Right | All rows from the join dataset. Rows with no match in the base dataset have empty values for the base columns. |
| Outer | All rows from both datasets, matched where possible. Rows with no match have empty values for the missing columns. |
Left is the most common choice: every row from your base layer is preserved and extra columns are added wherever a match exists.
Outputs
| Output | Type | Description |
|---|---|---|
| Result dataset | Dataset | The combined dataset with columns from both inputs. |
How to set up a Table Join
- Open or create a workflow on the Workflows tab of your project.
- Add a Table Join component from the component library.
- Connect your Base dataset — this is the dataset you want to add columns to.
- Connect your Join dataset — this is the dataset containing the extra columns.
- Set Join column to the key column in the base dataset (for example,
parcel_id). - Set Join column other to the matching key column in the join dataset (for example,
id). - Choose a How (join type). Start with Left to keep all rows from your base dataset.
- Connect the Result dataset output to the next step in your workflow or use it as a layer source.
Example: adding attributes from a spreadsheet to a spatial layer
Suppose you have:
- A spatial dataset of land parcels, each with a
parcel_idcolumn. - A CSV import with columns
parcel_id,zoning_class, andland_value.
To merge them:
- Add a Table Join component.
- Set Base dataset to the parcel spatial layer.
- Set Join dataset to the CSV import.
- Set Join column to
parcel_id(from the base dataset). - Set Join column other to
parcel_id(from the CSV). - Set How to Left so every parcel is included in the result, even if it has no match in the CSV.
The result dataset contains all parcel geometries plus the zoning_class and land_value columns wherever a matching parcel_id exists.
Related components
- Enrich Dataset — adds columns computed from existing fields rather than from a second dataset.
- Spatial Join — joins features based on geographic relationship rather than a shared key column.