MySQL - Unir registros de una misma tabla

 
Vista:

Unir registros de una misma tabla

Publicado por mapelo (1 intervención) el 19/07/2008 22:37:32
Tengo una tabla en una base de datos con miles de datos repetidos. Existen más de un registro para un mismo usuario (siempre tengo el campo dni para cada registro), pero en cada registro hay información que quiero conservar. Como haría para eliminar la información repetida y dejar solo un registro por persona con toda la información.

Ejemplo de registros repetidos

registro 1

Nombre: Manonito
dni: 1414
edad: (vacio o 0)

registro 2
Nombre: (vacio)
dni: 1414
edad: 34

Siempre tengo el dni para saber que son el mismo registro, por suerte.

¿Cual sería sentencia sql para que automaticamente me quede un unico registro con toda la información?
Gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Unir registros de una misma tabla

Publicado por Salvador Razo (19 intervenciones) el 28/08/2008 06:28:58
Hola, lo que tu quieres hacer simplemente es imposible, pero te voy a dar unos tips a ver si puedo darte ideas de como resolver esto:

Estos son pasos:
1) corre una sentencia "Select Distinct" con todos los campos que quieras perservar.... y genera una tabla nueva a partir de esa información.
Así eliminarás de entrada todos los registros q tengan exactamente la misma info.

2) Haz un select disctinct ahora de todos los DNI nada más y genera una tabla practicamente igual a la anterior pero solo insertaras los puros DNI

3) Corre un update por campo diciendole "udpate tabladnis, (select distinct dni, nombre from tablapaso1 where nombre is not null and nombre <> '') as consulta set tabladnis.nombre = consulta.nombre where tabladnis.dni = consulta.dni
Este paso solo te dejará el último nombre q encuentre es decir si tienes un registro con Mario y otro con "Mario A." solo te dejará uno de los dos, pero creo q es más importante ir juntando toda la info y los detalles los resolverás conforme actualices los registros...

Y listo, deberás de ir recorriendo campo por campo, pero creo q será menos complicado q intentar armar de nuevo toda la base de datos desde cero.

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar