Visual Basic Foro

Programación => Bases de Datos => Mensaje iniciado por: CarlosB en Abril 09, 2012, 06:07:48 pm

Título: Eliminar repetidos
Publicado por: CarlosB en Abril 09, 2012, 06:07:48 pm
Buenas a todos, estuve buscando en el foro sobre este tema y no encontré referencia así que por eso creo un nuevo hilo.
Tengo una tabla de sql server y quiero eliminar los registros repetidos, utilizo esta consulta:

Select * From tabla where campo  not in (Select max(campo) from tabla group by campo)

y cambio select por delete para eliminarlos, el problema es que me los elimina a todos. Alguien conoce alguna instrucción para dejar solo uno.

Título: Re:Eliminar repetidos
Publicado por: javierjava en Abril 09, 2012, 07:30:14 pm
para eliminar registros repetidos debes de usar distinct en la consulta en este caso creo que no se puede usar con *tabla

bueno tu consulta quedaria asi

Código: [Seleccionar]
SELEC  DISTINCT campo1,campo2,campo3  From tabla where campo  not in (Select max(campo) from tabla group by campo)
espero que te sirva de algo
Título: Re:Eliminar repetidos
Publicado por: E N T E R en Abril 09, 2012, 08:14:40 pm
Código: (SQL) [Seleccionar]
CREATE TABLE tabla_temporal AS SELECT * FROM tabla_que_contiene_repetidos GROUP BY cedula
DROP TABLE tabla_que_contiene_repetidos;
RENAME TABLE tabla_temporal TO tabla_que_contiene_repetidos;