Buenos dias. Necesitamos sacar de la base cuántos alumnos estuvieron activos en el segundo cuatrimestre de 2019. Estamos usando la version 3.16.2. Qué criterios serian los adecuados para obtener los activos? Y que tablas?
Gracias
Hola Juan, seria algo así en el caso que quieran saber que alumno estuvo con calidad “Activo” (calidad = A) durante el 2do cuatrimestre
Supongamos que consideramos el periodo 01/08/2019 al 30/10/2019 como 2do cuatrimestre de 2019. La query sería la siguiente:
SELECT vw_personas.apellido_nombres, vw_personas.tipo_nro_documento,
sga_alumnos.persona, sga_alumnos.alumno, sga_alumnos.calidad as calidad_actual
FROM sga_alumnos
JOIN vw_personas ON (sga_alumnos.persona = vw_personas.persona)
WHERE
EXISTS (SELECT 1 FROM sga_alumnos_hist_calidad as h
WHERE h.alumno = sga_alumnos.alumno
AND h.calidad = 'A'
AND h.fecha <= to_date('30-11-2019','DD-MM-YYYY')
AND h.fecha = (-- Ultimo cambio de calidad a activo anterior a la fecha fin del periodo lectivo
SELECT MAX(h2.fecha) FROM sga_alumnos_hist_calidad as h2
WHERE h2.alumno = sga_alumnos.alumno
AND h2.calidad = 'A'
AND h2.fecha <= to_date('30-11-2019','DD-MM-YYYY')
)
-- No exitió cambio de calidad durante el 2do cuatrimestre...
AND NOT EXISTS (SELECT 1 FROM sga_alumnos_hist_calidad as h3
WHERE h3.alumno = sga_alumnos.alumno
AND h3.calidad = 'P'
AND h3.fecha between h.fecha and to_date('30-11-2019','DD-MM-YYYY')
)
)
ORDER BY 1
Donde:
sga_alumnos: Datos del alumno.
mdp_personas: Datos de la persona.
sga_alumnos_hist_calidad: Movimientos de calidad del alumno.
Adicional:
sga_alumnos_motivos_calidad: Son los motivos de cambio de calidad.
Ahora si consideran activo a cualquier alumno que cursó o rindió algo durante el 2do cuatrmiestre, la consulta es otra ya uqe hay que mirar las inscripciones a cursadas y examenes.
3