Regarding BUG-000154798: The 'Select By Attributes' tool does not select only records with specified field values added through a one-to-many join but instead selects all records with duplicate ObjectIDs. (Status: Known Limit)
Could the various issues with 1:M (one-to-many) joins in Pro be solved by having a pseudo-ObjectID (row number) field as a unique ID?
For example, Oracle's ROWNUM pseudo-column works fine for query layers as the unique ID. Could a similar row-number-based mechanism work for Add Join in the attribute table, too?
select
cast(rownum as int) as pseudo_objectid,
lc.*,
pf.*
from
lc_events lc --one
left join
lc_events_project_finances pf --many
on lc.event_id = pf.event_id
Edit: I think this approach would work for M:M (many-to-many) joins too.
Related: Disallow 1:M join layers as GP inputs instead of producing unexpected results