SQL脚本,如果不存在Employee,则将数据从Table1插入Table2

时间:2019-03-29 17:56:21

标签: sql sql-update sql-insert

仅当Employee在Table1中而不在Table2中,或者Employee Information从Table1变为Table2并添加了一个已更改对象时,我试图编写一个脚本来将数据从Table1插入Table2。

  • 表1:员工编号,姓名,雇用日期,任期
  • 表2:雇员编号,姓名,雇用日期,期限,变更日期(数据库更新日期)getdate()

样本数据:

表1:

GetPasswordHashAsync

表2:

EmployeeNumber - Name - HireDate - TermDate
-------------------------------------------
1234           - Ted  - 8-12-1980 -  NULL
9632           - Josh - 1-1-2019  - 3-29-2019
5678           - Jeff - 3-29-2019 - NULL 

我已经尝试了好几次插入和更新查询,但是没有运气。

此查询用于插入不存在的记录。

EmployeeNumber - Name - HireDate - TermDate  - ChangeDate
---------------------------------------------------------
1234          -  Ted - 8-12-1980 -NULL -      8-12-1980
9632          -  Josh - 1-1-2019 - NULL -      1-1-2019

查询运行后,Table2应该如下所示:

表2:

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])

1 个答案:

答案 0 :(得分:0)

我不确定您要问什么,但我认为您要寻找的方法是INNER JOIN

祝你好运!