レッツ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)ですか?
レッツ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)ですか?
あなただけのあなたは二つのフィールドを注文し、重複を削除するdistinct
演算子を使用しleast
とgreatest
を使用することができますので:
SELECT DISTINCT LEAST(field1, field2), GREATEST(field1, field2)
FROM t
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つのバージョンのみが存在する場合は実際のレコードを作成します。
'select * from t、field1
wildplasser
'second.field1 first.field2'を使用します。 –