Cita:
Empezado por roman
¿Qué no podemos ahorrarnos el join?
Código SQL [-]
select CveAlumno, count(CveAlumno)
from Fallas
group by CveAlumno
having count(CveAlumno) between 5 and 10
// Saludos
|
Si nos lo ahorraramos que sucedería con aquellos alumnos del maestro que no tuvieran faltas? (Detalle de faltas)?. Pues estos no aparecerían. y el reporte sería erroneo, a menos que explicitamente quisieran solo a los que tienen faltas. :P
Prueba con esto amigo.
[delphi]
Código Delphi
[-]
With DM.IBDSAlumnos Do
Begin
SelectSQL.Text :=
' Select Maestro.CODIALUMNO, Count(*) ' +
' From ALUMNOS As Maestro ' +
' Left Join FALTAS As Faltas ' +
' On Maestro.CODIALUMNO = Faltas.CALUMNO ' +
' Group By Maestro.CODIALUMNO ' +
' Having Count(*) between ESDE and :HASTA';
ParamByName('DESDE').AsInteger := StrToInt('0' + EDesde.Text);
ParamByName('HASTA').AsInteger := StrToInt('0' + EHasta.Text);
End;
Suerte