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

consulta registros duplicados

Estas en el tema de consulta registros duplicados en el foro de Mysql en Foros del Web. Tengo una tabla de este estilo nombre - dni - asignatura juan - 1 - mates juan -1 - lengua pedro -2 - mates rocio ...
  #1 (permalink)  
Antiguo 29/05/2010, 05:10
 
Fecha de Ingreso: abril-2010
Mensajes: 8
Antigüedad: 14 años
Puntos: 0
consulta registros duplicados

Tengo una tabla de este estilo

nombre - dni - asignatura
juan - 1 - mates
juan -1 - lengua
pedro -2 - mates
rocio - 3 - musica
rocio -3 - mates

y así, pero con datos reales

Quiero buscar los registros duplicados para ello utilizo
SELECT * FROM opositores GROUP BY dni HAVING CONUT (*) >1

pero tiene un inconveniente que solo me muestra un registro de esa persona, en este caso juan. Y deseo que me muestre los dos registros de juan, es decir me mostraría los dos registros de juán, pero no los de rocio

Gracias por todo



por otro lado quiero, si se puede, ya me contáis quiero que me busque los duplicados si en el duplicado una de las asignaturas es lengua
  #2 (permalink)  
Antiguo 29/05/2010, 08:09
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: consulta registros duplicados

Cita:
pero tiene un inconveniente que solo me muestra un registro de esa persona, en este caso juan. Y deseo que me muestre los dos registros de juan, es decir me mostraría los dos registros de juán, pero no los de rocio
En primer lugar, para que te muestre todos los registros de una persona, no debes agrupar.
Pero para buscar las repeticiones y mostrar todo, la consulta es más compleja, y no te puedo dar la sintaxis correcta si no me das los nombres de todos los campos (el "*" no sirve en este caso).
La idea sería mas o menos:
Código MySQL:
Ver original
  1. FROM opositores
  2.     nombre = 'juan'
  3.     AND dni IN
  4.     (SELECT dni FROM opositores  GROUP BY dni  HAVING CONUT (*) >1);
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: duplicados, 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 08:17.