Background:
At 10.8.1, ArcMap attribute joins run without complaint, yet generate incorrect results.
As shown in the screenshot below, the tables component (parent) and chorizon (child) are joined 1:1, each via the field cokey.
Both are file geodatabase attribute tables, stored in the same FGDB.
I have conducted the join using two different techniques:
- From the attribute table window dropdown > Joins and Relates > Join... (both with the Keep all Records and Keep only Matching Records options, always using the Validate Join button)
- Using the Add Join tool (with Keep All Target Features unchecked)
Problem:
When reviewing the output, I notice that some of the child table values are incorrect following the join. For example, the screenshot shows two selected rows where the joined sandtotal_r values are different than the source table (6.8 vs. 63.7 and 13.5 vs. 29.5). In fact, 6.8 and 13.5 do not exist anywhere in the source attribute table!
The incorrect values always appear, regardless of the join method used.
When I conduct the join using QGIS 3.18.2, the output is correct. Thus it appears that the problem is with ArcMap, not the data.
Any thoughts?
@FelixIP suggested I try the Join Field tool, which worked correctly. However, the original problem still exists. I suspect a bug.
cokey
values in thechorizon
table are unique? Sort the table bycokey
(double click on that column header), and scroll down to that value(s) again to confirm.ObjectID
and case iscokey
. Advantage of this is that you can sort by count and find all the duplicates.