borrar un registro repetido
Como puedo borrar un registro repetido, las dos filas contienen la misma informacion pero debo borrar una de ellas.
En oracle, tados las tablas tiene unos campos que podriamos decir que estan ocultos.
Estos campos son:
rowmun
-------------
Este campo es un simple contador de registros el cual se calcula al hacer un query. Por ejemplo si tienes una tabla que tiens los campos a y b y tiens 3 registros al hacer el siguiente query:
select rownum,a,b
from tabla
/
rownum a b
-----------------------------
1 info info
2 info info
3 info info
Te saldra la informaci贸n de los campos y la primera columna es un simple contador de registros.
rowid
---------------
Este campo te devuelve un numero el cual es la posici贸n fiisica en donde esta almacenada la informaci贸n del registro.
Creo que lo mejor es que utilices este utlimo campo, y que borres el que tiene el valor de rowid mas alto(o el mas bajo, esto ya es decici贸n tuya).
Estos campos son:
rowmun
-------------
Este campo es un simple contador de registros el cual se calcula al hacer un query. Por ejemplo si tienes una tabla que tiens los campos a y b y tiens 3 registros al hacer el siguiente query:
select rownum,a,b
from tabla
/
rownum a b
-----------------------------
1 info info
2 info info
3 info info
Te saldra la informaci贸n de los campos y la primera columna es un simple contador de registros.
rowid
---------------
Este campo te devuelve un numero el cual es la posici贸n fiisica en donde esta almacenada la informaci贸n del registro.
Creo que lo mejor es que utilices este utlimo campo, y que borres el que tiene el valor de rowid mas alto(o el mas bajo, esto ya es decici贸n tuya).
Esta consulta borra las filas duplicadas de una tabla:
delete from tabla a where rowid > (
select min(rowid) from tabla b
where a.campo1 = b.campo1
and a.campo2 = b.campo2
and a.campo3 = b.campo3)
En este ejemplo la tabla tiene tres campos, tendr谩s que a帽adir todos los campos de la tabla para que te funcione.
Saludos
delete from tabla a where rowid > (
select min(rowid) from tabla b
where a.campo1 = b.campo1
and a.campo2 = b.campo2
and a.campo3 = b.campo3)
En este ejemplo la tabla tiene tres campos, tendr谩s que a帽adir todos los campos de la tabla para que te funcione.
Saludos
