Oracle の KEEP LAST を使用する 最適な rc_document_id を見つける document_id あたり 。次に、他のすべてを削除します。
delete from rc_document where rc_document_id not in ( select max(d.rc_document_id) keep (dense_rank last order by dg.priority) from rc_document d join rc_document_group dg using (rc_document_group_id) group by d.document_id );プレ>Rextester デモ:https://rextester.com/NZVZGF52818