Загрузка данных из промежуточной таблицы в несколько таблиц
Я использую MS SQL server 2017, и это тестовая база данных, где я пытаюсь решить проблему.
-Эта база данных содержит 4 таблицы (календарь, клиенты, продажи, Stage_Orders)
-Stage_Orders-это промежуточная таблица, содержащая новые заказы.
-Мне нужно загрузить таблицу клиентов и продаж с этими новыми данными.
-Если клиент, идентифицированный номером клиента из таблицы Stage_Orders, уже существует в таблице Customers, то он не добавляется снова, однако, если какой-либо из атрибутов изменился из записи, которая уже существует в таблице Customers, они должны быть обновлены. Если клиент не существует в таблице Customers, его следует добавить.
-Суррогатный ключ должен быть сгенерирован для любых новых записей клиентов, созданных.
-Таблица продаж должна быть загружена проводками продаж из Stage_Orders, а customerskey должен быть найден и назначен новой строке в таблице продаж, чтобы ее можно было объединить в запросе к таблице Customers на CustomerKey.
Что я уже пробовал:
Я пробовал оператор MERGE, который вставляет новую строку, если customerid этого не делает, или обновляет определенные столбцы, когда адрес, номер телефона и т. д. отличаются.
Я, кажется, не могу сделать это правильно.
Wendelius
Как выглядит запрос и в чем его проблема?