Есть две таблицы: Orders и Orders_incr
Orders_incr содержит в себе новый кусок данных, который нужно вставить в таблицу Orders, но иногда в Orders_incr попадаются строки, которые уже есть в таблице Orders, соответственно, эти строки (дубли) вставлять в таблицу Orders не нужно.
MERGEMERGE [dbo].[Orders] as trg
USING (select distinct * from [dbo].[Orders_incr]) as src
ON
trg.[OrderLinePriceOfLine] =cast(src.[OrderLinePriceOfLine] as money) AND
trg.[OrderCustomFieldsIsOnlineOrder] =cast(src.[OrderCustomFieldsIsOnlineOrder] as varchar) AND
trg.[OrderIdsExternalSystemNomerChekaNaSajte] =cast(src.[OrderIdsExternalSystemNomerChekaNaSajte] as varchar)
WHEN NOT MATCHED BY TARGET
THEN INSERT (
[OrderLinePriceOfLine] ,
[OrderCustomFieldsIsOnlineOrder] ,
[OrderIdsExternalSystemNomerChekaNaSajte]
)
VALUES (
cast(src.[OrderLinePriceOfLine] as money) ,
cast(src.[OrderCustomFieldsIsOnlineOrder] as varchar) ,
cast(src.[OrderIdsExternalSystemNomerChekaNaSajte] as varchar)
)
;
Ошибки полей:
cast(src.[OrderLineQuantity] as money) , cast(src.[OrderLinePriceOfLine] as money)
Как вставить данный их таблицы Orders_incr в Orders, гарантированно без дублей?