SELECT DISTINCT with Duplication check

时间:2013-07-16 20:23:55

标签: sql-server tsql

我有以下代码。

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

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

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

我知道我遗失的东西只是不知道是什么。

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

1 个答案:

答案 0 :(得分: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对每位员工都是唯一的)