我正在使用SQL Server 2016
我有一个HR CSV,每天都导入到导入表中
我只想将某些列的更改添加到我的HR表中。
我已经将下面的插入使用到查询中,但是当一个人执行了一个位置,然后返回到原始类别和以后的级别时,没有出现原始值的行。想知道我是否可以在where not exists部分使用延迟
INSERT INTO HRTable (HR_ImportDate,HR_EmpID,HR_Employee,HR_Category,HR_Grade)
SELECT IMP_ImportDate,IMP_EmpID,IMP_Employee,IMP_Category,IMP_Grade
FROM ImportTable
WHERE NOT EXISTS (SELECT * FROM HRTable
WHERE (HR_EmpID=IMP_EmpID) and (HR_Category=IMP_Category) and (HR_Grade=IMP_Grade))
条目的例子;最后一个没有返回,因为它具有与第一行相同的值。
这是来自CSV集成的数据:
Date ID Emp Cat Grade
20/3 401 John PT P10
21/3 401 John FT F10
22/4 401 John FT F10
23/4 401 John PT P10
24/4 401 John PT P10
25/4 401 John PT P10
26/4 401 John PT P10
27/4 401 John PT P10
这些是要添加到hrtable的必需行
Date ID Emp Cat Grade
20/3 401 John PT P10
21/3 401 John FT F10
23/4 401 John PT P10