2016-05-14 11 views
1

レッツTはsecond.field2 = first.field1 and second.field1 = first.field2、レコードの第二の部分を除外するために、どのようにサンプルデータ対称レコードを除外する方法

(1, 2) // first part 
(3, 4) 
(5, 6) 
.... 
(2, 1) // second part 
(4, 3) 
(6, 5) 

とテーブルT(フィールド1、フィールド2)ですか?

+0

'select * from t、field1 wildplasser

+0

'second.field1 first.field2'を使用します。 –

答えて

1

あなただけのあなたは二つのフィールドを注文し、重複を削除するdistinct演算子を使用しleastgreatestを使用することができますので:

SELECT DISTINCT LEAST(field1, field2), GREATEST(field1, field2) 
FROM t 
0
SELECT * 
FROM ztable t 
WHERE field1 <= field2 
OR NOT EXISTS (
    SELECT * FROM ztable x 
    WHERE x.field1 = t.field2 AND x.field2 = t.field1 
    ); 

これだけ(F1 < = f2)を与える両方のバージョンが存在する場合は記録し、1つのバージョンのみが存在する場合は実際のレコードを作成します。

関連する問題