Registros duplicados VFP

El siguiente script me muestra todos los registros duplicados de mismo Código, misma bod y misma fecha.
SELECT * FROM entradas T1 WHERE EXISTS (SELECT * FROM entradas T2 ;
WHERE (T1.Codigo = T2.Codigo AND T1.bod = T2.bod AND T1.fecha = T2.fecha) ;
GROUP BY T2.Codigo,T2.bod, T2.fecha HAVING COUNT(*) > 1) ORDER BY T1.Codigo,T1.bod, T1.fecha
Resultado ejemplo
Codigo bod fecha
10000 1 01-02-10
10000 1 01-02-10
10000 1 01-02-10
Que tengo que modificarle al script anterior para que me muestre UNICAMENTE los registros duplicados de mismo código, mismo bod, DIFERENTE fecha
Resultado deseado ejemplo:
Codigo bod fecha
10000 1 01-02-10
10000 1 01-08-10
10000 1 08-09-10
En espera de tus comentarios.

1 Respuesta

Respuesta
1
Lo que tienes que hacer es utilizar dejar sin agrupar por fecha y order por los 3 campos:
SELECT * FROM entradas T1 WHERE EXISTS (SELECT * FROM entradas T2 ;
WHERE (T1.Codigo = T2.Codigo AND T1.bod = T2.bod AND T1.fecha = T2.fecha) ;
GROUP BY T2.Codigo,T2.bod) ORDER BY T1.Codigo,T1.bod, T1.fecha
Cualquier duda estoy a tu disposición.
Hola Experto!
Esa solución no me funciono.
Ya que la tabla de entradas es de 43,884 registros y el resultado que me arroja el SELECT es el mismo numero de registros. Debiendo ser 42,861 registros el resultado real. Que este lo saco de un reporteador que ya no podre usar más. Es por eso que trato de que por medio de SQL de VFP me de el mismo resultado.
Que podria faltar en el SELECT?
SELECT * FROM entradas T1 WHERE EXISTS (SELECT * FROM entradas T2 ;
WHERE (T1.Codigo = T2.Codigo AND T1.bod = T2.bod AND T1.fecha = T2.fecha) ;
GROUP BY T2.Codigo,T2.bod) ORDER BY T1.Codigo,T1.bod, T1.fecha
En espera de tus comentarios.
Saludos
Tienes razón, agrupé mal. Debería queda así:
SELECT * FROM entradas T1 WHERE EXISTS (SELECT * FROM entradas T2 ;
WHERE (T1.Codigo = T2.Codigo AND T1.bod = T2.bod AND T1.fecha = T2.fecha)) ;
GROUP BY T1.Codigo,T1.bod ORDER BY T1.Codigo,T1.bod, T1.fecha
No había visto con claridad que el select que controla la existencia en T2 estaba dentro de un Exists lo que requería paréntesis extras.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas