选择明显不同的

时间:2013-06-07 15:53:06

标签: sql distinct no-duplicates

我有两个表一个有员工目标,另一个有员工列表。我必须相互匹配。似乎很容易做到。但是在员工表中,员工可以多次输入,并且有多种拼写方式。我怎样才能为每个ID选择一个名称,我选择哪一个并不重要。 这是我使用的代码:

     select  distinct (etar.EmplKey ), emp.EmplFullName
     FROM EmployeeTarget etar
     inner join DimEmployee emp on emp.emplkey = etar.emplkey
     inner join dimbranch br on br.BranchId = etar.BranchId
     where etar.BranchId = 8

这是我得到的结果:

     EmplKey    EmplFullName
      100260    Ida Patton
      101488    Don Sheppard
      101488    Donald Sheppard
      101489    Teresa Coverdale
      103121    Harjinder Aujla

我怎么能只让Don Sheppard那个人上市一次呢?

1 个答案:

答案 0 :(得分:1)

最简单的方法是进行聚合:

 select  etar.EmplKey, min(emp.EmplFullName)
 FROM EmployeeTarget etar
 inner join DimEmployee emp on emp.emplkey = etar.emplkey
 inner join dimbranch br on br.BranchId = etar.BranchId
 where etar.BranchId = 8
 group by etar.EmplKey