Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Access eliminar registros duplicados y dejar solo uno (En SQL).

Estas en el tema de Access eliminar registros duplicados y dejar solo uno (En SQL). en el foro de Bases de Datos General en Foros del Web. Buenos días foreros: Haber, tengo una tabla acces TABLA1, con un campo: CODIGO_CLIENTE. Bien, pues en los registros, puede que se repitan algunas veces el ...
  #1 (permalink)  
Antiguo 08/04/2008, 04:32
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 21 años, 6 meses
Puntos: 7
Access eliminar registros duplicados y dejar solo uno (En SQL).

Buenos días foreros:

Haber, tengo una tabla acces TABLA1, con un campo: CODIGO_CLIENTE.

Bien, pues en los registros, puede que se repitan algunas veces el CODIGO_CLIENTE.

Código:
[CODIGO_CLIENTE]
00005
00005
0002
00007
00007
00009
00487
Bueno, ¿Como puedo hacer un delete para que solo me queden un codigo y se eliminen los demas repetidos? ¿Se puede hacer?

El resultado debería ser:
Código:
[CODIGO_CLIENTE]
00005
0002
00007
00009
00487

En fin, si pueden ayudarme, se lo agradecería. Saludos.
__________________
Charlie.
  #2 (permalink)  
Antiguo 08/04/2008, 05:29
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 17 años, 4 meses
Puntos: 18
Re: Access eliminar registros duplicados y dejar solo uno (En SQL).

Una opcion muy rapida y sencilla:

Añade un campo autonumerico a tu tabla que luego borraremos (llamalo Id).

Luego, ejecuta esta consulta:

delete from NombreTabla where Id >
(
Select min(id) from NombreTabla Tbl1 where NombreTabla.CODIGO_CLIENTE = Tbl1.CODIGO_CLIENTE
)

Por ultimo, borra el campo autonumerico.

Por supuesto, los experimentos con gaseosa, antes de hacer nada haz una copia de la tabla.

Un saludo

PD: Hay otras opciones, sin tener que crear un campo. Esta se ejecuta muy rapido.

Un saludo
  #3 (permalink)  
Antiguo 06/12/2010, 09:12
 
Fecha de Ingreso: diciembre-2010
Mensajes: 1
Antigüedad: 14 años
Puntos: 0
Respuesta: Access eliminar registros duplicados y dejar solo uno (En SQL).

Hola, estuve revisando esto y tengo una duda, ¿funciona para access? Intenté hacer una consulta y me apareció el error "La consulta debe tener como mínimo un campo de destino". En mi caso pongo Select max(Id) en lugar de min(Id), debido a que yo tengo una tabla en la que se repite un campo, pero los demas son diferentes. Lo que quiero es que de los registros que se repiten en un campo, seleccionar el mayor en base al Id. Lo he porbado con otras rutinas también y obtengo el mismo errror, por ejemplo con esta:

delete from MyTable
where uniqueField not in
(select min(uniqueField) from MyTable T2
where T2.dupField=MyTable.dupField)

Donde dupField es el campo duplicado y uniqueField es el campo que no se repite, en este caso el Id.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:02.