クエリの結果が文字列のペア (x, y) のリストを返すことになっているとしましょう。逆の重複を排除しようとしています。つまり、(x, y) が結果の 1 つだった場合、(y, x) は後で表示されるべきではありません。
例:
column 1 (foreign key) column 2 (int) column 3 (string)
4 50 Bob
2 70 Steve
3 50 Joe
この表に示されている人物は、異なる列 2 の値で複数回表示される可能性があります。
私のクエリは、同じ列 2 の値を持つ名前のすべてのペアを出力する必要があります。
select e.column3, f.column3 from example as e, example as f where e.column2 = f.column2
(Bob, Bob)
(Bob, Joe)
(Joe, Bob)
(Joe, Joe)
double を削除するようにクエリをアップグレードしました。
select e.column3, f.column3 from example as e, example as f where e.column2 = f.column2
and e.column3 <> f.column3
(Bob, Joe)
(Joe, Bob)
今、私はそれを返すだけにしたい:
(Bob, Joe).
(Joe, Bob) は逆の重複なので、結果に含めたくありません。1つのクエリでそれを処理する方法はありますか?