Join attributes by field value — Tool (QGIS)

In QGIS: Processing Toolbox › Vector general › Join attributes by field value (native:joinattributestable). The same join can be made without a new layer under Layer Properties › Joins.

Realises: a join by key — the attributes of a second table added to each feature whose key field matches (the relational join of a database).

Settings that matter

  • Input layer and Table field: the layer that keeps its features (and geometry), and its key field.
  • Input layer 2 and Table field 2: the table whose fields are added, and its key field.
  • Layer 2 fields to copy: only the fields you need; empty copies all.
  • Join type: Create separate feature for each matching feature (one-to-many) or Take attributes of the first matching feature only (one-to-one).
  • Discard records which could not be joined, and the extra output Unjoinable features from first layer to see what did not match.
  • Joined field prefix: e.g. adr_, so fields with the same name in both tables stay apart.

Watch out

  • The output has the geometry of the Input layer. To put a table without geometry onto points, use the point layer as Input layer and the table as Input layer 2, with one-to-many when several rows share one point (several flats on one address point).
  • Both key fields must hold the same values in the same form: text "0101" does not match the number 101, and a UUID with capitals does not match one in lower case.
  • One-to-many multiplies features: count before and after the join.

Checked in QGIS 4.2.2, October 2026. Names and options can differ in other versions.