Есть ли у вас копия исходной базы данных до слияния? Если нет, то, что вы спрашиваете, невозможно. Вот проблема:
Исходная база данных имеет следующие записи:
{a, b, c}
В table_x вы добавляете d, так что теперь у вас есть:
{a, b, c, d}
В таблице y вы удалите b, поэтому у вас есть:
{a, c}
Теперь вы пытаетесь объединить эти два набора данных:
{a, b, c, d}
{a, c}
Без ссылки на оригинал, откуда вы знаете, должны ли b и d быть в новом наборе. Если они не были в оригинале, и вы добавили их после разветвления, они должны быть включены. Если они были в оригинале и вы удалили их в table_y после слияния, они не должны быть включены.
Предполагая, что у вас есть доступ, вы захотите сделать что-то вроде:
insert into table_y
select *
from table_x x
where x.id not in (select id from table_x_original)
А затем переименуйте table_y в table_x (если вы хотите, чтобы table_x был новым источником данных). Если ваши идентификаторы сгенерированы и у вас могут возникнуть конфликты, вам нужно заменить * на список всех столбцов, кроме столбца id, чтобы сгенерировать новый последовательный идентификатор.