选择具有相同EmailAddress列的ID

问题描述 投票:0回答:1

我需要:

我正在寻找一种解决方案,可以为我提供所有具有相同EmailAddress列的员工ID(过滤器必须通过EmailAddress进行)我想知道与重复的电子邮件地址对应的ID是什么,然后检索该信息

表员工

Id |编号|邮箱地址| EmployeeBeginingDate | EmployedEndDate |名称UserId(FK)|创建dBy | CreatedOn

SELECT Employee.Id,Employee.EmailAddress
FROM Employee a
INNER JOIN (SELECT 
                Employee.Id as EmployeeId,
                Employee.EmailAddress as EmailAddress,                
            FROM Employee
            GROUP BY Employee.Id,Employee.EmailAddress
            HAVING count(Employee.EmailAddress) > 1
                ) b
ON a.Id= b.EmployeeId  
ORDER BY a.Id

我总是收到错误类型“无法绑定多部分标识符”,我想我知道为什么,但是我想我无法解决此问题

sql sql-server
1个回答
0
投票

请尝试以下查询,因为别名表Employeea。因此,您必须使用a来代替Employee。

SELECT a.Id, a.EmailAddress
FROM Employee a
INNER JOIN (SELECT 
                Employee.Id as EmployeeId,
                Employee.EmailAddress as EmailAddress,                
            FROM Employee
            GROUP BY Employee.Id,Employee.EmailAddress
            HAVING count(Employee.EmailAddress) > 1
                ) b
ON a.Id = b.EmployeeId  
ORDER BY a.Id
© www.soinside.com 2019 - 2024. All rights reserved.