0

我有两张表,一张是员工目标,另一张是员工名单。我必须匹配一个到另一个。似乎很容易做到。但在雇员表中,雇员可以用不止一种拼写方式输入不止一次。我如何才能为每个 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 人只列出一次?

4

1 回答 1

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
于 2013-06-07T15:57:18.520 回答