我有一个表,其中包含一个引用和一个名称。有一些数据问题,其中有两个以上的不同名称的引用,这是不允许的。
有没有一个我可以编写的快速查询来查找所有具有1个以上相关名称的引用?
抱歉,我只是想澄清一下:
我可以有很多名字和引用,但每个引用只能有一个名称。如果有两个不同的名称与单个引用相关联,我需要显示这些名称。
发布于 2011-11-28 23:23:31
您可以按引用对其进行分组,然后选择具有多个的所有条目:
select reference, count(*)
from myTable
group by reference
having count(*) > 1;发布于 2011-11-28 23:27:52
查询:
SELECT reference, COUNT(name)
FROM @table
GROUP BY reference
HAVING COUNT(name) > 1示例数据:
declare @table table(reference varchar(5), name int)
INSERT INTO @table values('Ref#1', 1)
INSERT INTO @table values('Ref#1', 2)
INSERT INTO @table values('Ref#2', 3)
INSERT INTO @table values('Ref#2', 3)
INSERT INTO @table values('Ref#3', 4)输出:
| Ref#1 | 2 |
| Ref#2 | 2 |发布于 2011-11-28 23:37:15
我是这样处理的:
SELECT ref, COUNT(name)
FROM table
GROUP BY ref
HAVING COUNT(DISTINCT(name)) > 1https://stackoverflow.com/questions/8298013
复制相似问题