我有两个表,一个有员工目标,另一个有员工列表。我必须一对一地配对。看起来很容易做到。但是在employee表中,可以多次输入employees,并且可以使用多种方式拼写他们的姓名。我怎么能只为每个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我怎么能让那个唐·谢泼德只被列一次呢?
发布于 2013-06-07 23:57:19
最简单的方法是做aggreagtion:
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.EmplKeyhttps://stackoverflow.com/questions/16988211
复制相似问题