Update de condición de regularidad

Hola!, nosotros tenemos la migración completa, pero en su momento nos olvidamos de setear el dato cond_regularidad en actas. Ahora estamos intentando updatear ese campo sabiendo que la condición es asi:

1 “Libre” “U”
2 “Abandonó” “U”
3 “Insuficiente” “R”
4 “Regular” “A”
5 “Promocionó” “A”

Con las siguientes querys:

/* Updatear regulares */
UPDATE negocio.sga_actas_detalle SET cond_regularidad = sqt.reg
FROM (SELECT (CASE
WHEN ad.resultado = ‘U’ THEN 2
WHEN ad.resultado = ‘A’ THEN 4
WHEN ad.resultado = ‘R’ THEN 3
END) as reg,
ad.id_acta as id,
ad.alumno as al,
ad.folio as f,
ad.renglon as r
FROM negocio.sga_actas_detalle ad
JOIN negocio.sga_actas a ON ad.id_acta = a.id_acta AND a.origen = ‘R’
) as sqt
WHERE sqt.id = id_acta
AND sqt.al = alumno
AND sqt.f = folio
AND sqt.r = renglon;

/* Updatear promociones */
UPDATE negocio.sga_actas_detalle SET cond_regularidad = sqt.reg
FROM (SELECT (CASE
WHEN ad.resultado = ‘U’ THEN 2
WHEN ad.resultado = ‘A’ THEN 5
WHEN ad.resultado = ‘R’ THEN 3
END) as reg,
ad.id_acta as id,
ad.alumno as al,
ad.folio as f,
ad.renglon as r
FROM negocio.sga_actas_detalle ad
JOIN negocio.sga_actas a ON ad.id_acta = a.id_acta AND a.origen = ‘P’
) as sqt
WHERE sqt.id = id_acta
AND sqt.al = alumno
AND sqt.f = folio
AND sqt.r = renglon;

En el sistema al usar la operación “Reporte de Estadística de Fin de Cursado” nos debería devolver 13 promocionados de los 19 estudiantes en el caso que adjunté.

Saludos.


19Alumnos.png

19Alumnos.png

promociones.png

promociones.png

El acta de regulares número 5327 solo tiene 6 alumnos o tiene los 19 alumnos inscriptos en la comisión?
¿Que devuelve la siguiente consulta?

SELECT a.id_acta, a.nro_acta, d.origen, a.estado, d.alumno, d.nota, d.resultado, d.cond_regularidad, cr.resultado as cr_resultado, cr.nombre as cr_nombre
FROM sga_actas as a
JOIN sga_actas_detalle as d ON d.id_acta = a.id_acta
LEFT JOIN sga_cond_regularidad as cr ON cr.cond_regularidad = d.cond_regularidad
WHERE a.comision = 121
ORDER BY a.id_acta, d.alumno