There is an either/or, catch-22 thing happening with the Join Field, Add Join, and Join Features tool. It creates inconsistencies between similar tools. Suggested enhancement(s) below.
Use Case: The user wants to table join two feature classes based on a common field and only include the fields needed from the join table. The desired output is a new feature class.
- Join Field: With this tool, I can limit which fields are joined but it only updates the input table. There is no option to write a new output table, instead.
- Enhancement: Add an optional 'new output table' option in this tool
- Join Features: With this tool, I can do the table join with a new output, but it copies every field from the join table and makes a mess of the output. There is no field mapping control nor a dropdown for which fields to join in from the join table. It requires subsequent, additional steps, to clean up the fields in the new output.
- Enhancement: Add a field map to the tool to allow output field configuration, or add a drop down to select which fields from the target table and/or input table should be joined.
- Add Join: This is temporary and not actually written to the GDB. I only mention this tool to address it as a third way to accomplish the use case, but you'd have to configure the fields in the layer after adding the join, or use the field mapper when exporting to a feature class. So, same problem of extra steps as noted above.