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

Registros Duplicados en BD

Estas en el tema de Registros Duplicados en BD en el foro de Bases de Datos General en Foros del Web. Hola chicos no soy muy experta en el tema de sql les cuento mi problema a ver si me pueden ayudar. Tengo una base de ...
  #1 (permalink)  
Antiguo 31/10/2011, 14:04
 
Fecha de Ingreso: marzo-2010
Ubicación: Venezuela
Mensajes: 23
Antigüedad: 14 años, 1 mes
Puntos: 1
Registros Duplicados en BD

Hola chicos no soy muy experta en el tema de sql les cuento mi problema a ver si me pueden ayudar. Tengo una base de datos donde esta duplicado el registro de una persona con dato identico Id de persona sin embargo tengo datos esenciales como telefonos y dirección que no necesariamente estan completos en un solo registro, cada registro ademas posee la fecha de recoleccion de los datos donde se quieren tomar los datos más actuales. Lo que busco es completar en un solo registro la cantidad de datos que poseen ambos registros pero por medio de un query ya que son mas de 3000 registros y hacerlos uno por uno no es lo más efectivo.

Última edición por lis06; 31/10/2011 a las 14:22
  #2 (permalink)  
Antiguo 31/10/2011, 14:36
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Registros Duplicados en BD

Si tienes 2 registros identicos habra que saber cual es el que esta mas completo no??? y como sabrias que registro es el bueno??? el mas actual?? tienes algunos ejemplos de tus datos???
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 01/11/2011, 07:58
 
Fecha de Ingreso: marzo-2010
Ubicación: Venezuela
Mensajes: 23
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: Registros Duplicados en BD

sii de hecho tengo un campo fecha donde se puede identificar el registro mas actual, voy a colocar un ejemplo de un par de registros para que sea mas facil de visualizar lo que quiero expresar.


tabla: usuarios

ID_USUARIO
NOMBRE
TLF
MOVIL
DIRECCION
FECHA_REGISTRO

001 Maria Peña (12) (543) (not DIREC) 21-03-1999
001 Maria Peña (NO TLF) (NO MOV) La cruz 15-06-2009
002 Pablo Ruiz (NO TLF) 321 La Peña 11-09-2005
002 Pablo Ruiz (NO TLF) 621 La Peña 21-03-2010
003 Juan Torres 16 (NO MOV) El Paso 05-12-2007
003 Juan Torres 16 543 El paso 27-02-2011

Bueno es algo muy similar lo que tengo solo que algo simplificado, lo que intento hacer es unificar a un solo registro con la mayor información posible y las mas actualizada a su vez.

Última edición por lis06; 01/11/2011 a las 08:34
  #4 (permalink)  
Antiguo 01/11/2011, 10:09
 
Fecha de Ingreso: marzo-2010
Ubicación: Venezuela
Mensajes: 23
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: Registros Duplicados en BD

Buscando en la web encontre un query que me contabiliza cuantas veces se repite cada registro de usuario, lo adapte a mis datos y quedo asi

Código MySQL:
Ver original
  1. SELECT ID_USUARIO, COUNT( * ) veces FROM usuarios GROUP BY ID_USUARIO HAVING COUNT( * ) = ( SELECT COUNT( * ) total FROM usuarios GROUP BY ID_USUARIO ORDER BY total DESC  LIMIT 1 ) ORDER BY ID_USUARIO LIMIT 0 , 30

Solo lo ejecute en una bd de prueba con pocos registros, aun no en la base de datos principal que contiene un gran numero de registro, no se si sera eficiente.

Aun no se como resolver mi problema pero mientras que me puedan ayudar voy a seguir investigando.
  #5 (permalink)  
Antiguo 02/11/2011, 14:08
 
Fecha de Ingreso: marzo-2010
Ubicación: Venezuela
Mensajes: 23
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: Registros Duplicados en BD

Pues en mi busqueda por resolver mi problema encontre algo llamado Recorset, creo que esto me podria ayudar si alguien me puede decir como trabajan los recorset en php+mysql, se los agradeceria, ya que en la web no encuentro mucho sobre el tema.

Etiquetas: bd, duplicados, registros, sql
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 19:33.