问题与这个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')

08-28 01:40