Autor Tema: Eliminar repetidos  (Leído 2760 veces)

0 Usuarios y 1 Visitante están viendo este tema.

CarlosB

  • Bit
  • Mensajes: 3
  • Reputación: +0/-0
  • Suma "Te ayudo" con "Me ayudas" = "Mundo mejor"
    • Ver Perfil
Eliminar repetidos
« 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.


javierjava

  • Kilobyte
  • **
  • Mensajes: 69
  • Reputación: +6/-0
    • Ver Perfil
Re:Eliminar repetidos
« Respuesta #1 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

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1062
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
Re:Eliminar repetidos
« Respuesta #2 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;
CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo