首页 > 解决方案 > SQL Select:匹配id的行是否都具有相同的列值

问题描述

我有一张这样的桌子

sub_id      reference
1           A
1           A
1           A
1           A
1           A
1           A
1           C
2           B
2           B
3           D
3           D

我想确保每个组中的所有参考都具有相同的参考。意思是,例如,所有引用:

1应该是A

2应该是B

3应该是D

如果不是,那么我想返回一个 sub_id 列表。所以对于上面的表格,我的结果是:1

理想情况下,在这些条件下,参考将位于一个单独的表中,其中 sub_id 为 PK,但我需要先修复大量数据集,然后才能继续重组数据库。

标签: sql

解决方案


您可以使用以下方法:

select t.sub_id
from YourTable t
group by t.sub_id
having max(t.reference) <> min(t.reference)

改变YourTable以适应。


推荐阅读