一尘不染

什么SQL返回第一列中的重复项,而第二列中的值不同?

sql

问题非常 类似于此查找重复项,但我只想查找那些重复代码与“ ROME”不同且至少一个名称为“ ROME”的重复ID。

我想要理想的结果,因为:

  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


阅读 213

收藏
2021-03-08

共1个答案

一尘不染

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’)

2021-03-08