Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-04-2011
amerika111 amerika111 is offline
Miembro
 
Registrado: nov 2009
Posts: 168
Poder: 0
amerika111 cantidad desconocida en este momento
Eliminacion de duplicado de registros

Hola que tal, necesito eliminar los registros repetidos de una tabla esos ya los tengo son alrededor de 40 registros que se repiten, y para la eliminacion de estos se me ocurre hacer una tabla con los repetidos y despues realizar un nose LEft outer join o right outer join con la tabla original y el resultado de esto llenar una tercer tabla. y esa tercer tabla ya no tendria los repetidos solo los que no se repiten y despues ya le paso los de la tabla de repetido.


y lo que nose es que utilizar para obtener la tabla que no tenga registros repetidos si funcionara el left outer join o right join o si existe otras funciones que me puedan ayudar
Responder Con Cita
  #2  
Antiguo 01-04-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola amerika111.

Revisá estos enlaces del foro:

Eliminar Duplicados ¿?

Eliminar Registros Duplicados ?

Eliminar info duplicada/tripicada en algunos campos

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 01-04-2011
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
La cuestión es si quieres dejar 1 de los registros duplicados o borrar las dos ocurrencias

En el caso de borrar todo:
Código SQL [-]
/* Esta parte borra registros */
DELETE FROM TABLA
WHERE ID IN 
   (
   /* Esta parde devuelve los registros multiplicados */
   SELECT ID FROM TABLA
   GROUP BY ID
   HAVING COUNT(*) >= 2
   )

Si quieres dejar uno:
Código SQL [-]

/* Esta parte borra registros */
DELETE FROM TABLA
WHERE RDB$DB_KEY IN
   (
   /* Esta parde devuelve el primer registro multiplicado */
   SELECT FIRST 1 RDB$DB_KEY FROM TABLA
   GROUP BY ID
   HAVING COUNT(*) >= 2
   )

RDB$DB_KEY es un campo "de sistema" que identifica a cada registro. Es un CHAR(8) para las tablas.
Si es una vista que une dos tablas es un CHAR(16). Si une 3 tablas es CHAR(24), y así sucesivamente.
Responder Con Cita
  #4  
Antiguo 01-04-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
El '>=2' también puedes sustituirlo por '>1'
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
Servicio duplicado alapaco Varios 2 16-11-2009 19:51:18
Form duplicado silviodp OOP 5 11-11-2008 18:33:57
ayuda con eliminacion de registros ddd_ddd SQL 3 02-11-2005 21:08:18
Registro Duplicado jmedina Conexión con bases de datos 0 17-11-2004 19:53:34
Eliminacion fisica de registros en DBF's Francisco Tablas planas 1 04-10-2003 01:41:42


La franja horaria es GMT +2. Ahora son las 17:21:38.


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