Sql在字段中找到重复的两个IF字段,其中一个是唯一的

时间:2014-01-29 22:44:34

标签: sql

试图绕过这个,但它只是在圈子里旋转......

我现在有一个sql并且达到了我有这样的值的地步:

select T1.col1, T2.col2 
from T2, T1 
where T2.recNo = T1.recNo 
  AND T2.id=3 
  AND T1.recNo IN(
    select recNo from T1 where col1 IN (
      select col1 from T1 group by col1 having COUNT(*) >2))

col1|col2
111|123
111|123
222|456
222|456
222|456
333|789
333|700

等...

这是一个相当大的输出,我想要找到的是,如果col2中的任何值对于col1中的每个值分组都不相同(我知道某些col1是唯一的)我将输出转储到一个文件,并将尝试在perl中找出它。

我想要获得的输出是:

col1|col2
333|789
333|700

1 个答案:

答案 0 :(得分:3)

您可以通过聚合执行此操作:

select col1
from (<your query here>) s
group by col1
having min(col2) <> max(col2);

这将返回具有多个col1值的所有col2值。