Buenas tardes. Les cuento que ayer arrancamos exitosamente con el Tehuelche en Producción acá en la UNM. Por ahora, todo 10 puntos.
Lo que me tiene entretenido es el tema de las Reglas de Ponderaciones. Probé generar una Regla intentar hacerla funcionar pero no me hace el insert en la tabla sbc_reglas_x_ejecuciones_x_solicitud y estoy perdido respecto de qué estoy haciendo mal.
Podrán darme algún caso de ejemplo como para que me oriente o ayudarme un poco?
Les paso el SQL que generé, por ahí ayuda:
INSERT INTO sbc_reglas_x_ejecuciones_x_solicitud
(solicitud,
ponderacion_ejecutada,
nro_regla_ponderacion,
valor_resultante_regla,
valor_ponderacion_regla)
VALUES
($solicitud,
$ponderacion_ejecutada,
$nro_regla_ponderacion,
(SELECT
(SUM(ingresos_mensuales) + (SELECT monto_mensual FROM sbc_datos_laborales WHERE solicitud = $solicitud))
/ (SELECT cnt_personas_grp_fam + 1 as cant_fam FROM sbc_cabecera_grp_fam WHERE solicitud = $solicitud)
FROM sbc_datos_personales_grp_fam WHERE solicitud = $solicitud),
(SELECT
CASE WHEN
(SUM(ingresos_mensuales) + (SELECT monto_mensual FROM sbc_datos_laborales WHERE solicitud = $solicitud))
/ (SELECT cnt_personas_grp_fam + 1 as cant_fam FROM sbc_cabecera_grp_fam WHERE solicitud = $solicitud)
>= 900.00 THEN 0
WHEN
(SUM(ingresos_mensuales) + (SELECT monto_mensual FROM sbc_datos_laborales WHERE solicitud = $solicitud))
/ (SELECT cnt_personas_grp_fam + 1 as cant_fam FROM sbc_cabecera_grp_fam WHERE solicitud = $solicitud)
>= 800.00 AND
(SUM(ingresos_mensuales) + (SELECT monto_mensual FROM sbc_datos_laborales WHERE solicitud = $solicitud))
/ (SELECT cnt_personas_grp_fam + 1 as cant_fam FROM sbc_cabecera_grp_fam WHERE solicitud = $solicitud)
<= 899.00 THEN 10
WHEN
(SUM(ingresos_mensuales) + (SELECT monto_mensual FROM sbc_datos_laborales WHERE solicitud = $solicitud))
/ (SELECT cnt_personas_grp_fam + 1 as cant_fam FROM sbc_cabecera_grp_fam WHERE solicitud = $solicitud)
>= 551.00 AND
(SUM(ingresos_mensuales) + (SELECT monto_mensual FROM sbc_datos_laborales WHERE solicitud = $solicitud))
/ (SELECT cnt_personas_grp_fam + 1 as cant_fam FROM sbc_cabecera_grp_fam WHERE solicitud = $solicitud)
<= 799.00 THEN 20
ELSE 30 END AS ingresos_ponderacion
FROM sbc_datos_personales_grp_fam WHERE solicitud = $solicitud));
UPDATE sbc_ejecuciones_x_solicitud
SET valor_segundo_ordenamiento =
(SELECT valor_resultante_regla FROM sbc_reglas_x_ejecuciones_x_solicitud
WHERE solicitud = $solicitud
AND ponderacion_ejecutada = $ponderacion_ejecutada
AND nro_regla_ponderacion = $nro_regla),
valor_ponderacion =
(SELECT valor_ponderacion_regla FROM sbc_reglas_x_ejecuciones_x_solicitud
WHERE solicitud = $solicitud
AND ponderacion_ejecutada = $ponderacion_ejecutada
AND nro_regla_ponderacion = $nro_regla)
WHERE solicitud = $solicitud AND ponderacion_ejecutada = $ponderacion_ejecutada;
Gracias y espero respuestas!