SQL - Delete duplicados Expertos

 
Vista:

Delete duplicados Expertos

Publicado por Eduardo Valle (3 intervenciones) el 14/06/2006 19:46:41
Tengo una base de 1.112.181 direcciones necesito eliminar duplicidad de filas, por ejemplo en este grupo se repite

0023042519 10 AVENIDA 13162300
0023157298 10 AVENIDA 13162300

me basta que quede uno solo no importando el ID

el problema como hacer un delete para eliminar las coincidencias de calle y comuna

ID Calle CodComuna
0023157298 10 AVENIDA 13162300
0023042519 10 AVENIDA 13162300
0023022340 10 NORTE 13161600
0023038623 10 ORIENTE 13162000
0023163129 10 PONIENTE 13465200
0023086654 10 SUR 13162600
0023086907 10 SUR 13163000
0023086931 10 SUR 13163000

si alguien me puede ayudar Please con la consulta
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Delete duplicados Expertos

Publicado por Isaías (5072 intervenciones) el 14/06/2006 20:06:17
Version para SQL Server, Pruebalo:

-- Agrego una columna de tipo IDENTITY
alter table TUTABLA
add c1 int not null identity(1, 1)
go

-- Creo un Index cluster, sobre la columna agregada
create unique nonclustered index t1_c1_u_nc_idx
on TUTABLA(c1 asc)
go

-- Elimino los registros
delete TUTABLA
where exists(
select *
from TUTABLA as t2
where
t2.calle= TUTABLA.calle
t2.comuna= TUTABLA.comuna
and t2.c1 < TUTABLA.c1
)

-- Elimino el indice
drop index t1_c1_u_nc_idx
go

-- Quito la columna agregada.
alter table t1
drop column c1
go
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Delete duplicados Expertos

Publicado por eduardo valle (3 intervenciones) el 14/06/2006 22:23:33
delete from basedirecciones where exists(select * from basedirecciones t1, basedirecciones t2 where t2.nombre_calle = t1.nombre_calle and t2.CODIGO_COMUNA = t1.CODIGO_COMUNA and t2.c1 < t1.c1 )

me llama el exists no va acompañado de algun campo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar