Considere la siguiente tabla:SQL: La eliminación de registros duplicados - aunque diferentes tipos
TAB6
A B C
---------- ---------- -
1 2 A
2 1 A
2 3 C
3 4 D
considero, los registros de {1,2, a} y {2, 1, A} como duplicado. Necesito seleccionar y producir el siguiente conjunto de registros:
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
He intentado las siguientes consultas. Pero fue en vano.
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.
O incluso esto:
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
Ambos no funcionó.
La base de datos sería Oracle 10g. Buscando una solución SQL pura. Toda ayuda es apreciada.
¿Qué es exactamente estás tratando de lograr? Por favor amplía esto. – simchona
Necesito un SQL para producir el conjunto de registros {1, 2, A}, {2, 3, C} y {3, 4, D}. Para mí, {1, 2, A} y {2, 1, A} son registros duplicados y el conjunto de resultados debe tener solo una tupla ({{{{1}, {2}}}} {{{{{{2}}} {A}}, pero no ambos) –
Para que quede claro, con "eliminar" te refieres a * filtro del conjunto de resultados * en lugar de * eliminar *. – APC