Consulta SQL para reporte

Buenas tardes!

Me solicitan desde el área Administrativa la siguiente consulta: "la cantidad de estudiantes que están actualmente cursando la carrera de enfermería (propuesta), en las tres extensiones áulicas (ubicaciones), discriminados por sexo y por año (año de cursada). En este momento solo están abiertos primero y segundo año. Asimismo solicito la misma información de los estudiantes que están cursando TUAT  (propuesta) en Rawson (ubicación). En este caso son tres años (primero, segundo y tercero). "


Tienen algún script/función/reporte, o algún ejemplo de referencia sobre lo que se pide? yo estuve investigando entre las tablas sga_comisiones / sga_comisiones_propuestas / sga_comisiones_cupo / sga_planes / sga_insc_cursada / sga_alumnos / mdp_personas / sga_ubicaciones, pero no logro realizar lo solicitado, y tampoco sé como comprobar si el resultado es correcto o no.


Desde ya muchas gracias, saludos!

Hola Nicolas, el año de cursada de cada materia lo sacas de sga_elementos_plan.anio_de_cursada que la unis por el plan_version de la propuesta.
Igualmente no se si eso lo que te estan pidiendo o el año que esta cursando el estudiante.

sga_alumos yo la reemplazaria por la vista vw_alumnos que ya te unifica el id de la persona y el id del alumno. El de alumno lo necesitas para ver la propuesta que se inscribio en sga_insc_cursada y la persona para poder sacar el sexo.
Veo si encuentro alguna consulta parecida que haya hecho y te la subo. Pero obviamente la vas a tener que modificar de acuerdo a como tengan cargadas las propuestas, nosotros por ejemplo no nos manejamos por año de cursada.

Hola , Nico, ADri… quizas pueda servir esta:
"–ingresantes a sede CUDI con la siguiente info:
–edad, género, hijas/os, trabajo, de dónde provienen, etc. Gracias!!

set search_path to negocio;
SELECT DISTINCT vw_personas.nro_documento as dni_numero,
mdp_personas.nombres, mdp_personas.apellido, sga_propuestas.nombre AS nombre_propuesta,
(select mug_localidades.nombre
from mdp_personas, mug_localidades
where mdp_personas.persona = mdp_datos_censales.persona
and mdp_datos_censales.dato_censal = mdp_datos_personales.dato_censal
and mdp_datos_personales.periodo_lectivo_localidad= mug_localidades.localidad)as localidad_periodo_lectivo,
(select mug_localidades.nombre
from mdp_personas, mug_localidades
where mdp_personas.persona = mdp_datos_censales.persona
and mdp_datos_censales.dato_censal = mdp_datos_personales.dato_censal
and mdp_datos_personales.procedencia_localidad= mug_localidades.localidad)as localidad_procedencia,
date_part(‘year’,age( mdp_personas.fecha_nacimiento )) AS edad,
–mdp_trabajo_existe.descripcion as trabajo_existe,
–dato_t_h.descripcion as trabajo_que_realiza,
mdp_datos_personales.cantidad_hijos,
mdp_personas_sexo.descripcion as descripcion_sexo,
sga_ubicaciones.nombre as nombre_ubicacion,
sga_propuestas_aspira.periodo_insc,
sga_propuestas_aspira.anio_academico as anio_de_inscripcion_alumno

FROM mdp_personas
left join vw_personas on mdp_personas.persona = vw_personas.persona
LEFT JOIN sga_propuestas_aspira ON sga_propuestas_aspira.persona = mdp_personas.persona
JOIN sga_propuestas ON sga_propuestas_aspira.propuesta = sga_propuestas.propuesta
JOIN sga_propuestas_ra ON sga_propuestas.propuesta = sga_propuestas_ra.propuesta
JOIN mdp_datos_censales ON mdp_personas.persona = mdp_datos_censales.persona
JOIN mdp_datos_economicos ON mdp_datos_censales.dato_censal = mdp_datos_economicos.dato_censal
–JOIN mdp_trabajo_existe ON mdp_datos_economicos.trabajo_existe = mdp_trabajo_existe.trabajo_existe
JOIN mdp_datos_personales ON mdp_datos_censales.dato_censal = mdp_datos_personales.dato_censal
JOIN mug_localidades ON mdp_datos_personales.periodo_lectivo_localidad = mug_localidades.localidad
join vw_localidades_cp on mdp_datos_personales.procedencia_localidad = vw_localidades_cp.localidad
left join mdp_personas_sexo ON mdp_personas.sexo = mdp_personas_sexo.sexo
left join sga_ubicaciones on sga_propuestas_aspira.ubicacion = sga_ubicaciones.ubicacion
– periodo de inscripcion 2022
WHERE sga_propuestas_aspira.ubicacion = 11 --nosotros necesitabamos una sede en especial, la sede del alimno esta en la tabla sga_propuestas_aspira, que es donde figura tambien su propuesta de inscripción.
and sga_propuestas_aspira.anio_academico = 2022 --anio academico sera el año de inscripcion del alumno
ORDER BY nombre_propuesta DESC "
Tenia agunos datos extras, pero por las dudas te los deje… ojala te sirva

El problema de “año de cursada”, que pasa si un alumno que ingreso el año pasado esta aun cursando alguna actividad de 1er año y otras de 2do año?
Como lo consideran a ese alumno?
Porque al buscar alumnos que están cursando actualmente, ese alumno va a estar cursando actividades de 1er año y de 2do año. Deberian inofrmar cantidad de alumnos que estan cursando cada actividad diferenciados por año de ingreso.
Ejemplo:

Año de ingreso - Actividad - Año de Cursada - Ubicacion - Cantidad -
2021 - A - 1 - 1 - 10
2021 - A - 1 - 2 - 2
2022 - A - 1 - 1 - 30
2022 - A - 1 - 2 - 25
2022 - B - 1 - 1- 30
2022 - B - 1 - 2- 25
2021 - C - 2 - 20
2021 - C - 2 - 15
2021 - D - 2 - 20
2021 - D - 2 - 15
2021 - E - 1 - 1 - 3
2022 - E - 2 - 1 - 20
2022 - E - 2 - 2 - 15

Lo de extensión aúlica lo sacas por la ubicación definida en la comision (sga_comisiones.ubicacion).

Es que no manejamos los años de cursada, nos manejamos por cantidad de materias aprobadas y/o regularizadas nomas. Tanto para crear reglas de inscripcion como para alguna actividad especifica (becas, cursos, etc).
Por eso en ese tema no podriamos ayudarte.