У меня есть две таблицы A и B (с одной и той же схемой), и я хочу объединить их, вставив все записи из A в B. Если в таблице B уже есть данные, связанные с ключом из A, я хочу молча удалить эти данные.
Проблема в том, что таблица B имеет уникальный ключевой индекс, состоящий из трех столбцов, поэтому я не могу просто сказать «WHERE A.key <> B.key
».
Кажется, я не могу сформулировать оператор SQL в соответствии со строками:
INSERT INTO B
VALUES ((SELECT * FROM A WHERE ... NOT IN ...))
Есть ли способ INSERT
тех строк из A в B, где соответствующий трехстолбцовый ключ еще не существует в B?