Eliminar registros con claves repetidas?????

19/02/2004 - 13:47 por claudio | Informe spam
Tengo una tabla con datos de Cliente, Zona y NroPedido.
El problema es que deberían ser únicos por estos 3 y NO
lo son. Ya que tengo registros repetidos que tienen el
mismo Cliente, Zona y NroPedido (el resto de los campos
también es igual)
Cómo puedo hacer mediante un DELETE para que me quede un
sólo registro de cada combinación Cliente, Zona y
NroPedido???
 

Leer las respuestas

#1 Maximiliano Damian Accotto
19/02/2004 - 14:41 | Informe spam
Hola, se me ocurre que podrias hacer esto:

1) deshabilitar los Fkeys de las tablas hijas con respecto a esta
2) pasar con un Select a una tabla intermedia todos los Datos pero
Agrupados, por lo cual no tendras los duplicados
3) Hacer un delete completo de la tabla original
4) Insertar con (insert into) de la tabla intermedia a la principal
5) Volver a habilitar los Fkeys

Toma este Ejemplo:

create table #cli(id varchar(50),nombre varchar(100))

insert into #cli values('1','maxi')
insert into #cli values('1','maxi')
insert into #cli values('2','maxi')
insert into #cli values('3','maxi')
insert into #cli values('4','maxi')

select * from #cli

select top 0 * into #cli2 from #cli

insert
into #cli2
select max(id),max(nombre) from #cli group by id,nombre

select * from #cli2



Salu2 enormes

Maximiliano Damian Accotto

Fundicion San Cayetano S.A.
Gerente de IT
Buenos Aires - Argentina
-
Desarrollador 3 estrellas
http://www.microsoft.com/spanish/ms...efault.asp
-
(maxi_accotto[arroba]speedy.com.ar)
MSN:
-

"claudio" escribió en el mensaje
news:1267901c3f6e6$8ec482a0$
Tengo una tabla con datos de Cliente, Zona y NroPedido.
El problema es que deberían ser únicos por estos 3 y NO
lo son. Ya que tengo registros repetidos que tienen el
mismo Cliente, Zona y NroPedido (el resto de los campos
también es igual)
Cómo puedo hacer mediante un DELETE para que me quede un
sólo registro de cada combinación Cliente, Zona y
NroPedido???

Preguntas similares