1

x列とy列で同じ値を持つこれらのテーブル行のみをフィルタリングする必要があります。

 _______________________________________
|
|    x    |      y     |      name     |
________________________________________
|
|   1     |      2     |     A         |
|______________________________________
|   2     |      1     |      B        |
|______________________________________
|   1     |      2    |     C          | 
|_______________________________________  

最終的な結果は、AとCの結果になるはずです。xとyの値が同じであるこれらの行をフィルタリングする必要があります。

 _______________________________________
|
|    x    |      y     |      name     |
________________________________________
|
|   1     |      2     |     A         |
|______________________________________
 ______________________________________
|   1     |      2    |     C          | 
|_______________________________________  

私はこのコードを試しましたが、1つのフィールドでしかできませんでした。

select * 
from auto 
where x in (
        select x 
        from auto 
        group by x 
        having count(*) > 1
    );
4

2 に答える 2

3
SELECT t1.*
FROM tablename t1, tablename t2
WHERE t1.x = t2.x
AND t1.y = t2.y
AND t1.primary_key != t2.primary_key
于 2012-07-05T17:08:12.543 に答える
2
select * from 
auto a, ( SELECT x, y, COUNT(*) FROM auto GROUP BY x, y HAVING COUNT(*) > 1 ) b
where a.x = b.x
and a.y = b.y

あなたの他の質問を重複としてマークします

于 2012-07-05T18:31:36.863 に答える