I am trying to join a table to a feature class using the Add Join tool. The box 'Keep All Target Features' is ticked:
Based on my previous experience, and the info on the pop-up box of that parameter, this should mean that all features in the input layer are kept, regardless of whether the join fields match. However, the resulting output is only including input features that match on the join table field, regardless of whether the box is ticked. Basically it seems stuck on performing an inner join even though an outer join is selected. This happens regardless of whether or not the fields are indexed. Both the feature class and the table are stored in a geodatabase.
Please can anyone advise as to why this might be happening?
First, is your data stored in a file or enterprise geodatabase?
Second - from the Help - "If the join results are unexpected or incomplete, review whether the Join Table Field and Input Join Field parameter values are indexed. If they're not, try deleting and re-creating the index and rerun the tool."
Third - you can run the Validate Join (Data Managemen) GP tool to see if the join is valid and determine cardinality.
Hi Robert, thanks for your replies.
The data are stored in a file geodatabase.
I have tried running this with the Join and Input Table Fields indexed and non-indexed. I get the same result either way.
This is the output from the Validate
I'm not sure what extra that tells me, as I already knew there were only 2 matches, but I want to retain all the rows that don't match.
Can you share the data with me so I may test on my side? If so, my email is rleclair at esri dot com - thx!
I've ran into this issue in the past and the work around to show all of the joined data was to export the table to excel and all of the complete joined dataset will appear.
This didn't work for me. Tried exporting join table to csv and xlsx
I was having this issue joining a file geodatabase table to a SDE feature class. I was able to work around this by copying the feature class to a file geodatabase. After that, all target features did show successfully. I did call Support and they are escalating the issue to development
I have encountered this issue as well when joining a table to a layer both from file GDBs in Pro 3.2. The validate shows that there are 2 records that are not joining, but because not all the input records are being retained despite the check box being checked, I cannot see which two records out of 400,000+ are not in both layers.
After completing the join, you can see there are only 418,430 records in the join table
Please get this fixed ☹️
I had this same problem. It was solved for me by roving the definition query that I had on the join table.
Yep, had the same issue trying to join a Table to a feature class (both stored in the same file geodatabase). The feature class had a definition query and 'keep all input records' was not honored. So, I exported the filtered feature class to a Table. Then established the join from Table to Table (neither having a definition query) and then finally the 'keep all input records' when joining was a success! ...though quite a nuisance of a work around to generate extra tables just to find the misfits.