PHP / SQLは、別の列が異なることを条件に、列に重複行を探します

user3931836:

私は、次のタスクを実行するSQLクエリが必要になります。

私は2つの列があります。列「foo」と列「bar」に。

列「fooは」異なる値を持っていますが、「バー」が同じ値を持つ場合にのみ、戻り結果に問い合わせが必要。

例えば:

Foo               Bar
---------------------
1                 John
1                 Lee
2                 James
3                 Robin    <- the value '3' needs to be returned
3                 Sally
1                 Peter
1                 John
4                 Brian
2                 Robin    <- the value '2' needs to be returned

私は上記のデータセットのクエリを実行することだった場合は「バー」は両方の行で同じですが、「fooが」異なるため、両方の行は、返される上記の小枝の矢印を示しました。

任意の助けいただければ幸いです。

ありがとうございました。

ゴードン・リノフ:

あなたが使ってやりたいことができますexists

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

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=373616&siteId=1