Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-07-2010
calco_hugo calco_hugo is offline
Miembro
 
Registrado: jul 2010
Posts: 42
Poder: 0
calco_hugo Va por buen camino
borrrar registros repetidos

ante todo buenas noches, tengo el siguiente problema, tengo una base de datos, con un campo ID y varios mas, el campo ID no es clave principal ni autoincremental, es solo un campo numerico, ej
ID apellido campo2
1 perez a
2 alvarez b
1 smith c
3 calco d

como tendria que hacer para borrar los id repetidos, sin importar cual de los registros me queda, pero si que quede uno, la base de datos de prueba se llama "base", la verdad busque informacion casi todo el dia y la verdad no hay mucho al respecto.
desde ya les agradezco
hugo
Responder Con Cita
  #2  
Antiguo 21-07-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Me imagino que hay que hacer una sentencia sql.
De ahi buscar por medio del campo ID.
De ahi hacer un record count para definir si hay mas de uno de ese mismo ID.
De ahi (yo) guardaria la informacion de uno de ellos en unas variable.
De ahi borraria todos y guardaria el que me interese.
Otra forma es recorrer manualmente la tabla y borrarlos uno a uno.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 21-07-2010
calco_hugo calco_hugo is offline
Miembro
 
Registrado: jul 2010
Posts: 42
Poder: 0
calco_hugo Va por buen camino
gracias caral
Responder Con Cita
  #4  
Antiguo 21-07-2010
calco_hugo calco_hugo is offline
Miembro
 
Registrado: jul 2010
Posts: 42
Poder: 0
calco_hugo Va por buen camino
sigo buscando a full con el google y todavia nada
hugo
Responder Con Cita
  #5  
Antiguo 21-07-2010
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 19
ElDioni Va por buen camino
Yo creo que podría ser algo así, sino que alguien me corrija, en una tabla que se llama artículos y el campo que podría repetir es Ref

Código SQL [-]
DELETE * FROM articulos WHERE Articulos.ref IN (SELECT DISTINCTROW Articulos.Ref FROM Articulos
WHERE (((Articulos.Ref) In (SELECT [Ref] FROM [Articulos] As Tmp GROUP BY [Ref] HAVING Count(*)>1 )))
ORDER BY Articulos.Ref)

Un saludo.
Responder Con Cita
  #6  
Antiguo 21-07-2010
calco_hugo calco_hugo is offline
Miembro
 
Registrado: jul 2010
Posts: 42
Poder: 0
calco_hugo Va por buen camino
desde ya muchas gracias por contestar, no me funciono,

DELETE * FROM base WHERE base.id IN (SELECT DISTINCTROW base.id FROM base
WHERE (((base.id) In (SELECT [id] FROM [base] As Tmp GROUP BY [id] HAVING Count(*)>1 )))
ORDER BY base.id)

lo adapte a mi base de datos y campos y no funciono, pero desde ya agradezco tu atencion
hugo
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
mostrar registros repetidos jmlifi SQL 3 20-10-2011 21:15:50
Registros repetidos alegarreta SQL 6 16-04-2010 20:59:51
Eliminar Registros Repetidos en FireBird Blasito Firebird e Interbase 4 18-02-2009 16:03:22
Registros repetidos enecumene PHP 9 01-02-2007 18:17:04


La franja horaria es GMT +2. Ahora son las 00:29:45.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi