QUERYS DE INVESTIGACION SLQ ORACLE MIBANCO
Enviado por Miguel Yepez Anglas • 10 de Junio de 2020 • Práctica o problema • 267 Palabras (2 Páginas) • 177 Visitas
--TABLA DE MARGEN ULTIMO
WITH
TAB1 AS(
SELECT A.PERIODO, A.CODIGO_CLIENTE, A.NOMBRE_CLIENTE,A.NRO_PRESTAMO AS PRESTAMO_ULT,A.FECHA_DESEMBOLSO AS FECHA_ULTIMA,'ULTIMO' AS ESTADO, C.CODIGO_SOLICITUD AS SOLICITUD_ULT
FROM EGP_ALI_PRO A , EGP_RIESGOS C
WHERE
A.NRO_PRESTAMO=C.NRO_PRESTAMO
AND A.FECHA_DESEMBOLSO = (SELECT MAX(B.fecha_desembolso) FROM EGP_ALI_PRO B
WHERE A.CODIGO_CLIENTE=B.CODIGO_CLIENTE)
group by A.PERIODO, A.CODIGO_CLIENTE, A.NOMBRE_CLIENTE, A.NRO_PRESTAMO, A.FECHA_DESEMBOLSO,
C.CODIGO_SOLICITUD, 'ULTIMO'
)
,
TAB2 AS (
SELECT A.PERIODO, A.CODIGO_CLIENTE, A.NOMBRE_CLIENTE,A.NRO_PRESTAMO AS PRESTAMO_PENULT,A.FECHA_DESEMBOLSO AS FECHA_PENULTIMA,'PENULTIM' AS ESTADO2, C.CODIGO_SOLICITUD AS SOLICITUD_PENULT
FROM EGP_ALI_PRO_HIST A , EGP_RIESGOS_HIST C , TAB1 E
WHERE
A.NRO_PRESTAMO=C.NRO_PRESTAMO
AND A.PERIODO>='201801'
AND B.PERIODO>='201801'
AND A.CODIGO_CLIENTE=E.CODIGO_CLIENTE
AND A.FECHA_DESEMBOLSO = (SELECT MAX(B.fecha_desembolso) FROM EGP_ALI_PRO_HIST B , EGP_RIESGOS_HIST D
WHERE A.CODIGO_CLIENTE=B.CODIGO_CLIENTE AND B.NRO_PRESTAMO=D.NRO_PRESTAMO AND B.NRO_PRESTAMO <> E.PRESTAMO_ULT
AND A.PERIODO>='201801' AND D.PERIODO>='201801')
--AND A.NRO_PRESTAMO <> E.PRESTAMO_ULT
group by A.PERIODO, A.CODIGO_CLIENTE, A.NOMBRE_CLIENTE, A.NRO_PRESTAMO, A.FECHA_DESEMBOLSO,
C.CODIGO_SOLICITUD, 'PENULTIM'
)
SELECT DISTINCT A.SOLICITUD_ULT,C.CODIGO_CLIENTE,C.NOMBRE_CLIENTE, A.PRESTAMO_ULT,A.FECHA_ULTIMA, B.PRESTAMO_PENULT, B.FECHA_PENULTIMA ,
(SELECT X.VENTASNETAS FROM SL_PERDIDASYGANANCIAS X , EGP_RIESGOS_HIST Y
WHERE Y.NRO_PRESTAMO =A.PRESTAMO_ULT AND Y.CODIGO_SOLICITUD= X.SOLICITUD
AND A.SOLICITUD_ULT=X.SOLICITUD
) AS VENTAS_ACTUAL,
(SELECT X.VENTASNETAS FROM SL_PERDIDASYGANANCIAS X , EGP_RIESGOS_HIST Y
WHERE Y.NRO_PRESTAMO =B.PRESTAMO_PENULT AND Y.CODIGO_SOLICITUD= X.SOLICITUD AND B.SOLICITUD_PENULT=X.SOLICITUD
) AS VENTAS_ANTERIOR,
(SELECT ROUND((X.VENTASNETAS-X.COSTOVENTAS)/X.VENTASNETAS,2) FROM SL_PERDIDASYGANANCIAS X , EGP_RIESGOS_HIST Y
WHERE Y.NRO_PRESTAMO =A.PRESTAMO_ULT AND Y.CODIGO_SOLICITUD= X.SOLICITUD AND A.SOLICITUD_ULT=X.SOLICITUD
) AS MARGEN_ACTUAL,
(SELECT ROUND((X.VENTASNETAS-X.COSTOVENTAS)/X.VENTASNETAS,2) FROM SL_PERDIDASYGANANCIAS X , EGP_RIESGOS_HIST Y
WHERE Y.NRO_PRESTAMO =B.PRESTAMO_PENULT AND Y.CODIGO_SOLICITUD= X.SOLICITUD AND B.SOLICITUD_PENULT=X.SOLICITUD
) AS MARGEN_ANTERIOR,
(SELECT X.SALARIO FROM SL_PERDIDASYGANANCIAS X , EGP_RIESGOS_HIST Y
WHERE Y.NRO_PRESTAMO =B.PRESTAMO_PENULT
...