Определите дубликаты между двумя таблицами и удалите таблицу со старым созданным временем - PullRequest
1 голос
/ 20 июня 2019

У меня есть две таблицы T1 и T2. Не все столбцы одинаковы в обеих таблицах, но в обеих таблицах есть столбцы Имя и Дата.

Я хочу проверить наличие дубликатов в T1 и T2 по имени, но удалить запись из таблицы, которая имеет более старую дату.

Например: T1:

Name Date
A1   2012-09-09
A2   2018-08-08
A3   2015-04-06

Т2:

Name  Date
A1    2019-07-07
A2    2016-05-05
A4    2015-09-06

Я хочу удалить A1 из Таблицы1 и A2 из Таблицы 2.

1 Ответ

1 голос
/ 20 июня 2019

Мы можем попробовать использовать два существующих запроса на удаление:

DELETE
FROM T1 t1
WHERE EXISTS (SELECT 1 FROM T2 t2 WHERE t1.Name = t2.Name AND t2.Date > t1.Date);

и

DELETE
FROM T2 t2
WHERE EXISTS (SELECT 1 FROM T1 t1 WHERE t1.Name = t2.Name AND t1.Date > t2.Date);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...