【发布时间】:2018-03-19 13:20:12
【问题描述】:
我正在使用以下查询来查找重复记录
SELECT F.ID,f.CIVILID
FROM DBO.EMPUDF AS F
WHERE f.civilid IN (SELECT CIVILID
FROM dBO.EMPUDF
GROUP BY CIVILID
HAVING COUNT (CIVILID) > 1)
子查询返回 218 条重复记录,但是当我尝试执行查询以返回 name 和 id 时,它返回了超过 10k 条记录,其中包含许多空 id 列。
【问题讨论】:
-
没什么奇怪的。 218 个
civilid中的每一个都有 2 到 10,000 条记录(可能)不同的ID。 -
@AlexKudryashev,我需要选择 218 条有名字的记录
-
@coffemug,您必须在子查询或外部查询中处理空值。
-
@YogeshSharma ,我添加了 where 子句
where civil is not null,即使结果相同 -
然后显示你的查询尝试和期望的结果。
标签: sql sql-server-2008 select subquery linked-server