The records in the Input Table value are matched to the records in the Join Table value based on the values of the Input Join Field and Join Table Field parameters. Optionally, you can select specific fields from the Join Table value to be appended to the Input Table value during the join.
The Input Table value can be a feature class (including a shapefile) or a table.
All fields in the Input Table value will be kept during the join. Optionally, you can select specific fields from the Join Table value to be added to the output. Use the Transfer Fields parameter to add these fields.
Records from the Join Table value can be matched to more than one record in the Input Table value.
If no fields are selected for the optional Transfer Fields parameter, all fields from the Join Table value will be joined to the output. To alter field names, aliases, or properties, set the Transfer Method parameter to Use field mapping.
Joins can be based on fields of type text, date, or number.
Joins based on text fields are case sensitive.
Fields of different number formats can be joined as long as the values are equal. For example, a field of type float can be joined to a short integer field.
When joined to an input table, fields from the join table with a Global ID type or an Object ID type will not be transferred.
The Input Join Field value and the Join Table Field value can have different field names.
If a join field has the same name as a field from the input table, the joined field will be appended with _1 (or _2, or _3, and so on) to make it unique.
If the Select transfer fields option is specified for the Transfer Method parameter and field values in the Join Table Field parameter value are not unique, only the first occurrence of each value will be used. To account for values other than the first occurrence (a one-to-many join), set the Transfer Method parameter to Use field mapping. To perform a one-to-many join, the Input Table parameter value must have an Object ID field and be in the same workspace as the Join Table parameter value.
To manage the fields in the output dataset and the contents of those fields, use the Field Map parameter.
- To change the field order, select a field name and drag it to the new position.
- The default data type of an output field is the same as the data type of the first input field (of that name) it encounters. You can manually change the data type at any time to any other valid data type.
- The available merge rules are first, last, join, sum, mean, median, mode, minimum, maximum, standard deviation, and count.
- When using the Join merge rule, you can specify a delimiter such as a space, comma, period, dash, and so on. To use a space, ensure that the pointer is at the start of the input box and press the Spacebar once.
- You can specify the start and end positions of text fields using the format option.
- Do not perform standard deviation on a single input because values cannot be divided by zero, so standard deviation is not a valid option for single inputs.
Learn more about mapping fields in scripts
If the Field Map parameter is specified with the Join merge rule, there is no way to guarantee that the order of the joined values will be consistent with the row order of the Join Table Field parameter if the values are not unique. For example, if three features with the ANIMAL attribute values of mouse, cat, and dog are joined, the result will not necessarily be in the order mouse, cat, and dog.
The Validate Join tool can be used to validate a join between two layers or tables to determine if the layers or
tables have valid field names and Object ID fields, if the join
produces matching records, if the join is a one-to-one or one-to-many join, and
other properties of the join.
A button to validate the join is available on the tool dialog box for ease of use.