如果我的头衔伤了你的头...我和你在一起。我不想了解为什么存在此表,除了它是旧系统的一部分,而且系统也确实是“记录级别访问”(RLA),我知道这对于许多表来说都是一个问题,无论如何RLA是提到的,因为添加列会更改表格式,然后许多非常旧的程序将不再起作用...

显然,添加PK已显示不更改表格式。因此,有人告诉我,一套钥匙可以保证是独一无二的,您知道什么……不是。现在,我需要展示它们不在哪里。

我只能想到的是:

获取桌面上匹配其主键的跨产品。

以某种方式将计数列在结果集上,以适用于PK匹配其自身的条目的数量。

过滤该结果设置的值,其中计数ID大于2。

我将看看我是否充分扩展了PK,我实际上会发现一些独特的东西。

有帮助吗?

解决方案

删除约束 /唯一索引,插入数据,然后运行此查询:

SELECT col1, col2, ..., coln, COUNT(*)
FROM your_table
GROUP BY col1, col2, ..., coln
HAVING COUNT(*) > 1

在哪里 col1, col2, ..., coln 是密钥(一个或多个列)中的列列表。结果将是不止一次发生的密钥列表以及计数显示它们发生的频率。

其他提示

select col1, ... from tab group by col1, ... having count(*)>1;
SELECT * FROM (SELECT ID, COUNT(*) CNT FROM MY_TABLE GROUP BY ID) WHERE CNT > 1
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top