2

我有以下代码。

INSERT INTO [dbo].[Employees_Dim] ([EmpNo], [EmpName])
SELECT DISTINCT st.[EmpNo], [EmpName]
FROM [dbo].[EEMasterData] st

我想从主表中取出两列来创建一个员工维度。(这将与来自该主表的其他维度重复)。

我希望能够在 SSIS 包中运行脚本,该包将查看主数据、引用 Employee_Dim 并仅根据员工编号添加新员工。

我知道我错过了一些东西,只是不知道是什么。

更新:我的问题是,我应该在上面的脚本中添加什么,使用 EmpNo 作为键,只将 EEMasterData 表中新添加的员工插入到 EmployeeDim 中。

4

1 回答 1

4

...并且只添加新员工...

如果这是您面临的问题,请仅选择维度表中尚不存在的条目:

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 对于每个员工都是唯一的)

于 2013-07-16T20:30:51.807 回答