Necesitamos, si es posible, que nos ayuden con un reporte que la universidad necesita urgente.
El reporte solicitado: “Listado de estudiantes que tengan materias en condición de regular desde 2018 hasta diciembre de 2020 y detalle de dicha materia pendiente de final”
Adjunto la query en la cual estuvimos trabajando y les comento:
Creemos estar cerca del resultado final pero hay ciertas diferencias si lo comparamos con los reportes de Guaraní-Autogestión.
No estamos seguros de estar utilizando las vistas/tablas que corresponden con lo solicitado.
Si es posible que nos aconsejen que criterio utilizar para diferenciar los aprobados de los promocionados, para el filtro final.
Las regularidades pueden consultarse usando las vistas ‘vw_regularidades’ o ‘vw_regularidades_basica’, que incluyen las actas de cursada (vw_regularidades.origen = ‘R’), las actas de promoción de comisiones que son sólo promocionales (vw_regularidades.origen = ‘P’) y las equivalencias de regularidad (vw_regularidades.origen = ‘C’). Para tener en cuenta sólo las regularidades aprobadas el filtro debería ser: vw_regularidades.resultado = ‘A’. Tienen también la columna ‘anio_academico’.
Las aprobaciones pueden consultarse con ‘vw_hist_academica’ o ‘vw_hist_academica_basica’. Podrían tener una condición así:
vw_regularidades.elemento NOT IN ( SELECT vw_hist_academica_basica.elemento
FROM vw_hist_academica_basica
WHERE vw_hist_academica_basica.alumno = vw_regularidades.alumno AND
vw_hist_academica_basica.resultado = 'A')
Buenas tardes… implemente la consulta con las recomendaciones que recibí y la misma está corriendo desde hace 3 horas en producción… me llama la atención tanto tiempo en su espera, es normal esto? a esa misma consulta le realice pruebas con usuarios específicos y ya de por si, para una sola persona tardaba unos diez minutos… que me recomiendan?
Dejo el documento de la nueva implementación para que puedan aconsejarme.
Desde ya muchas gracias!
La condición de que la materia no esté aprobada debería ser parte de la cláusula WHERE:
SET SEARCH_PATH = 'negocio';
SELECT distinct alum.apellido_nombres,
alum.identificacion,
alum.plan_nombre,
vw_regularidades.actividad_nombre_abreviado,
vw_regularidades.nota,
vw_regularidades.resultado_descripcion
FROM vw_alumnos AS alum,
negocio.vw_regularidades
WHERE alum.alumno = vw_regularidades.alumno AND
alum.propuesta NOT IN (18,19,22,37,27) AND
vw_regularidades.anio_academico >= 2018 AND vw_regularidades.anio_academico <= 2020 AND
vw_regularidades.resultado_descripcion <> 'Ausente' AND
vw_regularidades.nota >= '4' AND
vw_regularidades.elemento NOT IN ( SELECT vw_hist_academica_basica.elemento
FROM vw_hist_academica_basica
WHERE vw_hist_academica_basica.alumno = vw_regularidades.alumno AND
vw_hist_academica_basica.resultado = 'A');
Probá de esta manera y cualquier cosa lo vemos.
Saludos, Florencia.
2
Ya lo resolvi flor muchas gracias! Realice un reporte filtrando ademas por cada instituto con sus propuestas pertenecientes y asi la consulta demoro unos pocos minutos y trajo los resultados esperados, me fuiste de gran ayuda, que tengas buen día!