Contar registros repetidos solo una vez foxpro

Bueno espero que puedan ayudarme
Tengo una consulta en foxpro que me trae los registros de los alumnos, lo periodos y las materias que han perdido en cada uno respectivamente.
Ahora si el alumno perdió 4 veces matemáticas me lo trae lo que esta bien para mi
Pero necesito hacer un filtro o agregarle algo a la consulta de manera que pueda contar las materias que perdió el alumno sin contar las repetidas y si es mayor de nueve mostrármelo con el nmombre, el periodo y las materias que perdió incluidas las repetidas
Bueno no se si me hago entender
Esta es mi consulta
SELECT Tblinsufi.txtfolio, Tblmatricula.txtpaest, ;
Tblmatricula.txtsaest, Tblmatricula.txtnestud, Tblmater.txtdescr, ;
Tblinsufi.periodo, Tblinsufi.anno, Tblinsufi.intgrado FROM mbdcolegio!tblinsufi ;
INNER JOIN mbdcolegio!tblmatricula ON Tblinsufi.txtfolio = Tblmatricula.txtfolio ;
INNER JOIN mbdcolegio!tblmater ON Tblinsufi.intmate = Tblmater.intconsec ;
WHERE Tblinsufi.anno='2008' AND Tblinsufi.estado='S' ;
and Tblinsufi.txtfolio in (select Tblinsufi.txtfolio from mbdcolegio!tblinsufi ;
where Tblinsufi.anno='2008' AND Tblinsufi.estado='S' group by Tblinsufi.txtfolio having count(*) > 8);
ORDER BY Tblmatricula.txtpaest, Tblmatricula.txtnestud
C:\Documents and Settings\Desarrollo 2\Escritorio\pruebas\mio.htm

1 respuesta

Respuesta
1
Me dejas con algunas dudas, así que supondremos que tienes un campo llamado documento en tu tabla llamada tabla1, el cual contiene ese valor que te distingue a cada registro y por el cual podemos entender que existen registros duplicados, ahora bien utilizando SELECT SQL de la siguiente forma:
SELECT DISTINCT documento FROM tabla1 INTO CURSOR unicos
?_TALLY
El SELECT SQL te extraerá los registro no duplicados utilizando el campo documento para diferenciar la duplicidad y el _TALLY es una variable de memoria que almacena la cantidad de registro obtenidos después de ejecutar cierto comandos entre ellos el SELECT SQL, si tu tabla no posee un campo que te permita hacerlo así, intenta con este otro:
SELECT DISTINCT * FROM tabla1 INTO CURSOR unicos
?_TALLY
Esto extraerá los registros únicos de la tabla1 pero tomando todo el registro completo para verificar su duplicidad, es decir que depende de los campos que tu incluyas después de la clausula DISTINCT así sera la expresión que el SELECT SQL manejara para verificar la duplicidad.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas