问题与这个find duplicates非常相似
但我只想查找那些重复的ID,其代码与“ROME”不同且至少一个名称为“ROME”。
我想要理想的结果,因为:1. ID重复2。至少一个来源是“ROME”
3.该ID的剩余行不是'ROME'
Table
ID ORIGIN
-----------
1 ROME
1 ROME
2 ROME
2 LODI
3 ASTI
4 PISA
4 BARI
Desired Results
ID ORIGIN
-----------
2 ROME
2 LODI
最佳答案
SELECT
id,
origin
FROM
My_Table T1
WHERE
EXISTS (SELECT * FROM My_Table T2 WHERE T2.id = T1.id AND T2.origin = 'ROME') AND
EXISTS (SELECT * FROM My_Table T3 WHERE T3.id = T1.id AND T3.origin <> 'ROME')