---
title: "SourceJoin"
description: "one join from a table of a read artefact to another source, by an identifier"
section: concepts
address: /concepts/sourcejoin
contract: 0476e35e6e275db5
---

# SourceJoin

one join from a table of a read artefact to another source, by an identifier

[figure: SourceJoin is a value at none scope. The drawing shows its fields and the objects that they point at.]

| property | value |
|---|---|
| kind | value |
| scope | none |
| key | none |
| store | none |
| family | sources |



## Fields


| field | type | required | note |
|---|---|---|---|
| `left` | `text` | yes | the source, schema, table and column on this side |
| `right` | `text` | yes | the source, schema, table and column on the other side |
| `identifier_kind` | `text` | no | the kind of identifier the join is on, where the reading names it |
| `basis` | `text` | yes | how the join is known: inferred from the column names, stated by the generator, or measured |



## Routes that use it
No route takes or returns SourceJoin directly. The record holds it, and the objects that point at it reach it.
