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

Encontrar registros repetidos

Estas en el tema de Encontrar registros repetidos en el foro de Mysql en Foros del Web. Imaginemos una tabla con estos tres campos (tendrá más...) Nombre Calle Poblacion Y estos datos de ejemplo Juan - Calle nueva - Madrid Juan - ...
  #1 (permalink)  
Antiguo 20/09/2013, 03:49
Avatar de jm00092  
Fecha de Ingreso: mayo-2005
Ubicación: Ronda
Mensajes: 106
Antigüedad: 19 años, 6 meses
Puntos: 0
Información Encontrar registros repetidos

Imaginemos una tabla con estos tres campos (tendrá más...)


Nombre
Calle
Poblacion


Y estos datos de ejemplo


Juan - Calle nueva - Madrid
Juan - Calle vieja - Madrid
Juan - Calle ancha - Barcelona
Pepe - Calle larga - Madrid
Pepe - Calle estrecha - Madrid



¿Como puedo hacer una consulta SQL para detectar a alguien que viva en dos pueblos?

Que devuelva que Juan vive en Madrid y en Barcelona
Pero que no devuelva que Pepe vive en dos sitios, porque los dos son en Madrid

Gracias
  #2 (permalink)  
Antiguo 20/09/2013, 04:38
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Encontrar registros repetidos

Código MySQL:
Ver original
  1. SELECT Sbc2.nombre,
  2.              Sbc2.ciudad
  3.         FROM (SELECT DISTINCT
  4.                       tabla.nombre,
  5.                       tabla.ciudad
  6.                     FROM tabla) Sbc2
  7.              INNER JOIN
  8.                   (SELECT sbc.nombre
  9.                        FROM (SELECT DISTINCT
  10.                                       tabla.nombre,
  11.                                       tabla.ciudad
  12.                                   FROM tabla) sbc
  13.                         GROUP BY sbc.nombre
  14.                         HAVING Count(*)>1) Sbc1
  15.            ON Sbc2.nombre=Sbc1.nombre;

complicado!!!! igual hay otra solución mas simple....

El problema lo tienes en la definicion de la tabla don de mezclas cosas personas y sus direciones.....Si esta previsto que las personas tengan mas de una direccion (n direcciones) debes tener las personas en una tabla y las direcciones en otra....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 20/09/2013, 05:03
Avatar de jm00092  
Fecha de Ingreso: mayo-2005
Ubicación: Ronda
Mensajes: 106
Antigüedad: 19 años, 6 meses
Puntos: 0
Respuesta: Encontrar registros repetidos

GRACIAS

Que cosa más complicada. Da miedo

Esto de los nombres y las cuidades era para poder simplificar el problema. Realmente es para una consulta en la base de datos de Prestashop donde los productos están así de repetidos. A ver si puedo adaptar la instrucción y que el proceso no sea demasiado lento.
  #4 (permalink)  
Antiguo 20/09/2013, 05:06
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Encontrar registros repetidos

Ojo que DISTINCT solo te filtrara aquellos registros que TODOS los campos elegidos en la query sean distintos....

Y la solución, que repito no debe ser única, la he pensado sobre una sola tabla.... habria que ver la estructura de PRESTASHOP
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Etiquetas: campo, encontrar, registros, repetidos, sql, tabla
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 12:51.