我有以下代码。
INSERT INTO [dbo].[Employees_Dim] ([EmpNo], [EmpName])
SELECT DISTINCT st.[EmpNo], [EmpName]
FROM [dbo].[EEMasterData] st
我想从主表中取出两列来创建员工维度。 (对于来自该主表的其他维度,这将被复制)。
我希望能够在 SSIS 包中运行脚本,该脚本将查看主数据、引用 Employee_Dim 并仅根据员工编号添加新员工。
我知道我错过了一些东西,只是不知道是什么。
更新:我的问题是,我应该在上述脚本中添加什么,该脚本将使用 EmpNo 作为键仅将新添加的员工从 EEMasterData 表插入到 EmployeeDim 中。
最佳答案
... and only add new employees ...
如果这是您面临的问题,请仅选择维度表中尚不存在的条目:
INSERT INTO [dbo].[Employees_Dim] ([EmpNo], [EmpName])
SELECT DISTINCT st.[EmpNo], [EmpName]
FROM [dbo].[EEMasterData] st
WHERE st.[EmpNo] NOT IN (SELECT EmpNo FROM Employees_Dim)
(假设 EmpNo 对于每个员工来说都是唯一的)
关于sql-server - SELECT DISTINCT 并进行重复检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17686277/