I solved this kind of problem in oracle with an application I've done on purpose to merge data from one branch to other one - target, and then delete the source one.
https://sites.google.com/site/keytreechanger/Home
https://sites.google.com/site/keytreechanger/Home/screenshots
quoting
Given this error, for example:
client Pedrus Root (internal key representation #R=111) is the same as Petrus Root (#R=222).
Move data under 222 to 111, and then delete 222 branch.
KTC gathers all data relative to this case (and the next few cases to be solved), in a smarty way from all relevant tables of database.
The algorithm only searches where needed and using all available key components.
A backup of all data is locally maintained for audit purposes. The local repository evolves transparently to accommodate changes in table/field definitions.
The power user visually inspects the table/relation tree, and can view/print/edit data in any table and optionally modify the presumed action (cut, or cut and paste or done).
Finally KTC generates hundreds of lines of inserts, updates and deletes of corrective code to solve this particular case, listed in a suitable order ending with
delete from rootTable where #R=222.
Then, I apply the code with the users online.
In your situation a filter will have to remove all lines but the delete ones.
AFAIK there is no equivalent application in the market.