【发布时间】:2015-09-16 03:30:02
【问题描述】:
我已尝试搜索此站点,但无济于事。我不知道如何恰当地表达我的问题,但这里是:
我有一张桌子,里面有多家公司的员工。他们都有一个唯一的员工编号 (Num),但可以属于几个不同的公司 (Comp)。问题是我们为员工所在的每家公司都有一个单独的条目。我需要能够找到拥有多个条目的每位员工,以及他们所属的所有公司 (Comp)。
我想不出除了将所有公司分成临时表并比较所有公司的重复记录之外的解决方案。
这是一个例子:
如果我在表格中有以下内容,
Comp Num FName MI LName
McD's 1 Dick H Harper
BrgrKng 1 Dick H Harper
Wendy's 2 Jane B Doe
Arby's 3 John G Doe
我想要以下结果:
Comp Num FName MI LName
McD's 1 Dick H Harper
BrgrKng 1 Dick H Harper
我有以下代码:
SELECT Comp, Num, FName, MI, LName
FROM Employees
HAVING COUNT(Num) > 1
ORDER BY LName, FName, MI
此代码不起作用,因为 HAVING 子句并试图显示 Comp 以及 Num。
每当我尝试运行它时,我都会收到预期的错误消息:
选择列表中的“Employees.Comp”列无效,因为它既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
没有分离出所有公司的员工并将每个公司与每个公司进行比较,我该怎么办?
旁注:
以下条目均无帮助:
How to Find Rows which are Duplicates by a Key but Not Duplicates in All Columns?
【问题讨论】:
-
具有预期输出的样本数据将有很大帮助。也请阅读How to ask和How to create a Minimal, Complete, and Verifiable example.
-
这张表有主键吗?
-
您在寻找重复的条目吗?喜欢;公司 A 的员工 1 有 2 个或更多条目?还是您只想查看 Employee1 拥有的所有公司的列表?
-
编辑了问题以包含具有所需结果的示例数据集。我将尝试重新提出我的问题。布赖恩,是的,我正在寻找重复的条目,但它们有一个列,每个重复条目都会有所不同。
标签: sql sql-server