首页 > 解决方案 > 如何在同一表的一列中查找重复值和另一列中的不同值?

问题描述

我想在同一个表中选择所有具有相同SrlNbr值和不同类型的行。我尝试了很多方法,但没有奏效。请帮忙。

示例我想列出 ID:1,2, 5,6 而不是 3,4

标签: sqlsql-server

解决方案


您可以使用exists

select t.*
from t
where exists (select 1
              from t t2
              where t2.SrlNbr = t.SrlNbr and t2.type <> t.type
             );

如果你只想要srlnbr不同类型的 s,那么聚合很方便:

select srlnbr
from t
group by srlnbr
having min(type) <> max(type);

推荐阅读