Удаление дубликатов из разных таблиц
Есть две таблицы, А и B. В обеих разное количество колонок и их названий. Надо удалить из таблицы А полностью строку, если ее колонка aaa содержит совпадение с колонкой bbb в таблице В.
не срабатывает:
DELETE A FROM A JOIN B WHERE A.aaa=B.bbb;
Ответы (1 шт):
Автор решения: Roman Konoval
→ Ссылка
Есть два варианта.
Первый это использовать EXISTS:
DELETE FROM A a
WHERE EXISTS (
SELECT 1
FROM B b
WHERE b.bbb = a.aaa
);
Второй - это IN с подзапросом:
DELETE FROM A
WHERE aaa IN (
SELECT bbb
FROM B
);