Como evitar la error división por 0
Publicado por omarbri (1 intervención) el 18/04/2018 21:29:20
Hola amigos alguien seria tan amable de ayudarme con este script. El funciona bien pero cuando se requiere multiplicar a veces algunos campos están en 0 y genera error de multiplicación por 0. Este script genera un reporte donde indica el porcentaje del avance de notas cargadas al sistema por los profesores de un colegio.
Si todos han cargado aunque sea una nota no hay problemas pero, cuando todavía alguno no ha cargado nada se genera el error. Tal vez tenga que usar condicionales pero no se como, auxilio.
Gracias
Si todos han cargado aunque sea una nota no hay problemas pero, cuando todavía alguno no ha cargado nada se genera el error. Tal vez tenga que usar condicionales pero no se como, auxilio.
Gracias
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
select U.ID_EMPL, U.USER_NOMBRECOMPLETO,
(select S.SUBA_DESCRIPCION FROM EDUTM_SUBAREA S
WHERE S.ID_SUBA=C.ID_SUBA)
AS SubArea,
(select P.PLNE_DESCRIPCION FROM EDUTM_PLANESTUDIOS P
WHERE P.ID_PLNE=C.ID_PLNE AND P.AUDT_ACTIVO='1')
AS GRADO,
C.ID_SUBA,
PK_CATALOGO.FN_S_CATALOGO(0, CTLG_SECCION)
AS secc,
(SELECT COUNT(*) FROM EDUTV_MATRICULAS P
WHERE P.ID_PLNE=C.ID_PLNE /*and P.CTLG_SECCION=C.CTLG_SECCION*/ and P.MTRI_NROORDEN<>0)
AS Mtri,
EDUPK_NOTAS.FN_B_NOTASXINGRESAR(C.ID_PLNE, C.ID_SUBA,'0103805')
AS NOTAS,
EDUPK_NOTAS.FN_B_TOTALNOTASINGRESADAS(C.ID_PLNE, C.CTLG_SECCION, C.ID_SUBA,'0103805')
AS INGRESADAS,
round((EDUPK_NOTAS.FN_B_TOTALNOTASINGRESADAS(C.ID_PLNE, C.CTLG_SECCION, C.ID_SUBA,'0103805')*100) /
(EDUPK_NOTAS.FN_B_NOTASXINGRESAR(C.ID_PLNE, C.ID_SUBA,'0103805')* (SELECT COUNT(*) FROM EDUTV_MATRICULAS P
WHERE P.ID_PLNE=C.ID_PLNE and P.CTLG_SECCION=C.CTLG_SECCION and P.MTRI_NROORDEN<>0)),2)
AS Porcentaje
from SEGTM_USUARIO U, ADMTM_EMPL_CARGALABORAL C--, EDUTM_ESNO_FECHAS E
WHERE C.ID_EMPL=U.ID_EMPL AND C.AUDT_ACTIVO='1' AND U.AUDT_ACTIVO='1' AND C.PLNE_ANIO='2018' and C.CTLG_PERIODO='0103805'
AND C.ID_PLNE is NOT NULL;
Valora esta pregunta


0