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

Obtener todos los registros duplicados

Estas en el tema de Obtener todos los registros duplicados en el foro de Mysql en Foros del Web. Hola gente, bueno tengo un problema con una BD, necesito obtener todos los registros, cuyo campo este duplicado, en este caso el campo order tengo ...
  #1 (permalink)  
Antiguo 27/02/2014, 12:05
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 9 meses
Puntos: 641
Obtener todos los registros duplicados

Hola gente, bueno tengo un problema con una BD, necesito obtener todos los registros, cuyo campo este duplicado, en este caso el campo order

tengo algo así:

id, order, clientNumber, clientName

en order va un numero así, 734568 y debe ser irrepetible, pero por un error se subieron dos veces algunos. como no se cuantos son, mi cometido es buscar todos los campos donde el numero de order se repita.

he intentado varias consultas pero ando frito, cualquier ayuda, link, referencia etc. es muy bien recibida gracias de antemano.
  #2 (permalink)  
Antiguo 27/02/2014, 12:25
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Obtener todos los registros duplicados

Primero de todo, ten cuidado con ese nombre de campo order, pues es una palabra reservada
http://dev.mysql.com/doc/refman/5.0/...ved-words.html

si puedes, cámbialo; pero si no es así, usa la delimitación mediante acentos

La idea de la consulta es averiguar los order que aparecen más de una vez. Una vez obtenidos, puedes traerte los datos de aquellos registros que tienen ese valor order mediante un INNER JOIN y subconsulta.

Código MySQL:
Ver original
  1. SELECT tutabla.id, tutabla.`order`, tutabla.clientNumer, tutabla.clientName
  2.  FROM tutabla  INNER JOIN
  3.     (SELECT `order` FROM tutabla GROUP BY `order` HAVING COUNT(*) > 1)t1
  4.  ON tutabla.`order` = t1.`order`

Última edición por jurena; 27/02/2014 a las 17:25
  #3 (permalink)  
Antiguo 27/02/2014, 14:46
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 9 meses
Puntos: 641
Respuesta: Obtener todos los registros duplicados

Muchas gracias Juren, si no te preocupes, estoy entrecomillando el order.

todo perfecto, muchas gracias, por ahí iba pero me faltaba el empujon, thanks :) y +1
  #4 (permalink)  
Antiguo 27/02/2014, 16:53
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Obtener todos los registros duplicados

Cita:
Iniciado por memoadian Ver Mensaje
Muchas gracias Juren, si no te preocupes, estoy entrecomillando el order.

todo perfecto, muchas gracias, por ahí iba pero me faltaba el empujon, thanks :) y +1
Cuidado: No son comillas, sino acentos agudos, y sólo son obligatorios si los nombres de las columnas contienen espacios en blanco, símbolos de uso lógico-matemático, o palabras reservadas, como es tu caso (ORDER... ¿por qué usas palabras en inglés? es donde es más fácil meter la pata).
No confundir los acentos (`) con los apóstrofes (') ni las comillas (").
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 27/02/2014, 17:26
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Obtener todos los registros duplicados

Es cierto, no son comillas, aunque el manual lo traduce así. En realidad, son acentos graves.
  #6 (permalink)  
Antiguo 28/02/2014, 01:12
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 9 meses
Puntos: 641
Respuesta: Obtener todos los registros duplicados

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Cuidado: No son comillas, sino acentos agudos, y sólo son obligatorios si los nombres de las columnas contienen espacios en blanco, símbolos de uso lógico-matemático, o palabras reservadas, como es tu caso (ORDER... ¿por qué usas palabras en inglés? es donde es más fácil meter la pata).
No confundir los acentos (`) con los apóstrofes (') ni las comillas (").
Bueno la base de datos no la hice yo, me llamaron para arreglar un sistema, aunque no son comillas, así se les llama en general, no voy a ponerme a decir "lo entre acento agudicé"



y bueno, el nombre no es un problema para mi, no interfiere para nada con mi sistema, aunque no soy un super master de mysql, conozco perfectamente las bases de la programación, palabras reservadas y otros menesteres, de todos modos gracias por el interés y recomendaciones.


Etiquetas: campo, duplicados, registro, registros
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 14:03.