SQL: Удаление дубликатов записей - хотя и другого вида

Рассмотрим следующую таблицу:

TAB6
         A          B C
---------- ---------- -
         1          2 A
         2          1 A
         2          3 C
         3          4 D

Я считаю, что записи {1,2, A} и {2, 1, A} являются дубликатами. Мне нужно выбрать и создать следующий набор записей:

         A          B C                      A          B C
---------- ---------- -             ---------- ---------- -
         1          2 A         or           2          1 A
         2          3 C                      2          3 C
         3          4 D                      3          4 D

Я попробовал следующие запросы. Но безрезультатно.

select t1.*
from t6 t1
, t6 t2
where t1.a <> t2.b
and t1.b <> t2.a
and t1.rowid <> t2.rowid
/

         A          B C
---------- ---------- -
         1          2 A
         2          1 A
         2          1 A
         2          3 C
         3          4 D
         3          4 D

6 rows selected.

Или даже так:

 select *
 from t6 t1
 where exists (select * from t6 t2 where t1.a <> t2.b and t1.b <> t2.a)
/
         A          B C
---------- ---------- -
         1          2 A
         2          1 A
         2          3 C
         3          4 D

Оба не сработали.

База данных будет Oracle 10g. Ищу решение на чистом SQL. Любая помощь будет принята с благодарностью.

7
задан G P 12 January 2012 в 04:03
поделиться