Si consideri la seguente tabella:SQL: Rimozione di record duplicati - seppur diverso tipo
TAB6
A B C
---------- ---------- -
1 2 A
2 1 A
2 3 C
3 4 D
ritengo, i record {1,2, A} e {2, 1, A} come duplicato. Devo selezionare e produrre il set di record seguente:
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
Ho provato le seguenti domande. Ma inutilmente.
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 anche questo:
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
Entrambi non ha funzionato.
Il database dovrebbe essere Oracle 10g. Alla ricerca di una soluzione SQL pura. Ogni aiuto è apprezzato
Che cosa stai cercando di realizzare? Per favore, espandi questo. – simchona
Ho bisogno di un SQL per produrre il set di record {1, 2, A}, {2, 3, C} e {3, 4, D}. Per me {1, 2, A} e {2, 1, A} sono record duplicati e il set di risultati dovrebbe avere solo una tupla (o {1, 2, A} o {2, 1, A}, ma non entrambi) –
Giusto per essere chiari, con "rimuovi" intendi * filtro dal set di risultati * piuttosto che * cancella *. – APC