Я пытаюсь написать скрипт для вставки данных из Таблицы1 в Таблицу2, только если Сотрудник находится в Таблице 1, а не в Таблице2 или если Информация о Сотруднике изменяется с Таблицы1 на Таблицу2, добавляя изменение.
- Таблица1: номер сотрудника, имя, дата найма, дата окончания срока действия
- Таблица2: EmployeeNumber, Имя, HireDate, Termdate, ChangeDate (дата обновления до дБ) getdate ()
Пример данных:
Таблица 1:
EmployeeNumber - Name - HireDate - TermDate
-------------------------------------------
1234 - Ted - 8-12-1980 - NULL
9632 - Josh - 1-1-2019 - 3-29-2019
5678 - Jeff - 3-29-2019 - NULL
Table2:
EmployeeNumber - Name - HireDate - TermDate - ChangeDate
---------------------------------------------------------
1234 - Ted - 8-12-1980 -NULL - 8-12-1980
9632 - Josh - 1-1-2019 - NULL - 1-1-2019
Я безуспешно пробовал несколько запросов на вставку и обновление.
Этот запрос работает для вставки несуществующей записи.
INSERT INTO Table2 ([EmployeeNumber], [Name], [HireDate], [Termdate], [ChangeDate])
SELECT
*, GETDATE() AS 'ChangeDate'
FROM
Table1
WHERE
NOT EXISTS (SELECT [EmployeeNumber]
FROM Table2
WHERE Table1.[EmployeeNumber] = Table2.[EmployeeNumber])
После выполнения запроса таблица 2 должна выглядеть следующим образом:
Table2:
EmployeeNumber - Name - HireDate - TermDate - ChangeDate
---------------------------------------------------------
1234 - Ted - 8-12-1980 - NULL - 8-12-1980
9632 - Josh - 1-1-2019 - NULL - 1-1-2019
9632 - Josh - 1-1-2019 - 3-26-2019 - 3-29-2019
5678 - Jeff - 3-29-2019 - NULL - 3-29-2019