Visual Basic Foro

Programación => Bases de Datos => Mensaje iniciado por: E N T E R en Noviembre 20, 2012, 04:27:02 pm

Título: Buscar registros duplicados en una tabla.
Publicado por: E N T E R en Noviembre 20, 2012, 04:27:02 pm
Tengo una tabla con 2 campos el CAMPO 2 es el que tiene datos repetidos.

Esta es mi consulta pero con 10.000 registros me hace en 20 minutos. Hay una manera de optimizar?

Código: (SQL) [Seleccionar]
SELECT *

FROM <tabla>

WHERE <campo>

IN (

SELECT <campo>

FROM <tabla>

GROUP BY <campo>

HAVING COUNT( <campo> ) >1 )
Título: Re:Buscar registros duplicados en una tabla.
Publicado por: raul338 en Noviembre 20, 2012, 04:39:44 pm
Que motor de base de datos es? Y si en lugar de usar having (me parece que es MS-SQL) usas el "IN NOT" o "NOT EXIST" (creo que son de MySQL/Oracle)
Título: Re:Buscar registros duplicados en una tabla.
Publicado por: E N T E R en Noviembre 20, 2012, 04:48:34 pm
Es MySQL...
Título: Re:Buscar registros duplicados en una tabla.
Publicado por: seba123neo en Noviembre 20, 2012, 05:48:22 pm
hay varias maneras, proba esta, es un INNER JOIN a la misma tabla.

Código: (SQL) [Seleccionar]
SELECT DISTINCT a.campo1,a.campo2
FROM test a
INNER JOIN test b ON a.campo2 = b.campo2
WHERE a.campo1 <> b.campo1

campo1 es el id, y campo2 es el que se repite.
Título: Re:Buscar registros duplicados en una tabla.
Publicado por: E N T E R en Noviembre 20, 2012, 06:21:57 pm
Perfecto Seba, 8 segundos despues del tedioso 20 minutos.

Muchas gracias....