У меня есть оператор слияния, который выполняется каждый день, так как новые данные выгружаются в мою таблицу каждый день, вот пример моего кода:
MERGE SQL_Backup as Target
USING Temp as Source
ON target.code = source.code
WHEN MATCHED THEN update SET
target.saledate = source.saledate,
target.branchcode = source.branchcode
WHEN NOT MATCHED BY TARGET
THEN insert (
code, saledate
)
values (
source.code, source.saledate
)
when not matched by source
then delete;
однако, который удаляет всю мою таблицу, яЖелая удалить только те строки, которые были добавлены сегодня, не следует прикасаться к любым предыдущим строкам.
Вот изображение того, как выглядят исходная и целевая таблицы:
Источник /Целевая таблица
У меня есть столбец с надписью 'saledate', в котором содержится дата сбрасываемых данных, и у меня есть уникальный столбец с надписью 'code', который я использовал для объединения для обнаружения дубликатов.
Интересно, есть ли a, если нет совпадений с источником для saledate = сегодня, затем удалить или что-то еще?