Visual Basic Foro
Programación => Bases de Datos => Mensaje iniciado 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?
SELECT *
FROM <tabla>
WHERE <campo>
IN (
SELECT <campo>
FROM <tabla>
GROUP BY <campo>
HAVING COUNT( <campo> ) >1 )
-
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)
-
Es MySQL...
-
hay varias maneras, proba esta, es un INNER JOIN a la misma tabla.
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.
-
Perfecto Seba, 8 segundos despues del tedioso 20 minutos.
Muchas gracias....