DROP TABLE IF EXISTS ......................T_SALDO_AJUSTADO_HIST

CREATE TABLE ......................T_SALDO_AJUSTADO_HIST
WITH ( format = 'Parquet', 
       parquet_compression = 'SNAPPY', 
       partitioned_by = ARRAY['PERIODO'], 
       external_location= 's3://......................................./T_SALDO_AJUSTADO_HIST/'
     )
AS (
  
          SELECT A.CODSBS, 
               A.COD_EMPRESA,         
                  A.SALDO_AJUSTADO SALDO_AJUSTADO,
               FUTURO_1.PERIODO PERIODO_F1,
               FUTURO_1.SALDO_AJUSTADO SALDO_AJUSTADO_F1,
               FUTURO_2.PERIODO PERIODO_F2,
               FUTURO_2.SALDO_AJUSTADO SALDO_AJUSTADO_F2,
               FUTURO_3.PERIODO PERIODO_F3,
               FUTURO_3.SALDO_AJUSTADO SALDO_AJUSTADO_F3,
               PASADO_1.PERIODO PERIODO_P1,
               PASADO_1.SALDO_AJUSTADO SALDO_AJUSTADO_P1,
                PASADO_2.PERIODO PERIODO_P2,
               PASADO_2.SALDO_AJUSTADO SALDO_AJUSTADO_P2,
                PASADO_3.PERIODO PERIODO_P3,
               PASADO_3.SALDO_AJUSTADO SALDO_AJUSTADO_P3,
                PASADO_4.PERIODO PERIODO_P4,
               PASADO_4.SALDO_AJUSTADO SALDO_AJUSTADO_P4,
                PASADO_5.PERIODO PERIODO_P5,
               PASADO_5.SALDO_AJUSTADO SALDO_AJUSTADO_P5,
                PASADO_6.PERIODO PERIODO_P6,
               PASADO_6.SALDO_AJUSTADO SALDO_AJUSTADO_P6,
                PASADO_7.PERIODO PERIODO_P7,
               PASADO_7.SALDO_AJUSTADO SALDO_AJUSTADO_P7,
                PASADO_8.PERIODO PERIODO_P8,
               PASADO_8.SALDO_AJUSTADO SALDO_AJUSTADO_P8,
  
               CASE WHEN coalesce(PASADO_8.SALDO_AJUSTADO, 0) > 0 AND coalesce(A.SALDO_AJUSTADO, 0) > 0 THEN 1 ELSE 0 END FLG_TIENE_9_MESES_O_MAS_CON_SALDO_AJUSTADO,
               CASE WHEN coalesce(PASADO_7.SALDO_AJUSTADO, 0) > 0 AND coalesce(A.SALDO_AJUSTADO, 0) > 0 THEN 1 ELSE 0 END FLG_TIENE_8_MESES_O_MAS_CON_SALDO_AJUSTADO,
               CASE WHEN coalesce(PASADO_6.SALDO_AJUSTADO, 0) > 0 AND coalesce(A.SALDO_AJUSTADO, 0) > 0 THEN 1 ELSE 0 END FLG_TIENE_7_MESES_O_MAS_CON_SALDO_AJUSTADO,
               CASE WHEN coalesce(PASADO_5.SALDO_AJUSTADO, 0) > 0 AND coalesce(A.SALDO_AJUSTADO, 0) > 0 THEN 1 ELSE 0 END FLG_TIENE_6_MESES_O_MAS_CON_SALDO_AJUSTADO,
               CASE WHEN coalesce(PASADO_4.SALDO_AJUSTADO, 0) > 0 AND coalesce(A.SALDO_AJUSTADO, 0) > 0 THEN 1 ELSE 0 END FLG_TIENE_5_MESES_O_MAS_CON_SALDO_AJUSTADO,
               CASE WHEN coalesce(PASADO_3.SALDO_AJUSTADO, 0) > 0 AND coalesce(A.SALDO_AJUSTADO, 0) > 0 THEN 1 ELSE 0 END FLG_TIENE_4_MESES_O_MAS_CON_SALDO_AJUSTADO,
               CASE WHEN coalesce(PASADO_2.SALDO_AJUSTADO, 0) > 0 AND coalesce(A.SALDO_AJUSTADO, 0) > 0 THEN 1 ELSE 0 END FLG_TIENE_3_MESES_O_MAS_CON_SALDO_AJUSTADO,
               CASE WHEN coalesce(PASADO_1.SALDO_AJUSTADO, 0) > 0 AND coalesce(A.SALDO_AJUSTADO, 0) > 0 THEN 1 ELSE 0 END FLG_TIENE_2_MESES_O_MAS_CON_SALDO_AJUSTADO,
               CASE WHEN coalesce(A.SALDO_AJUSTADO, 0) > 0 THEN 1 ELSE 0 END FLG_TIENE_1_MESES_O_MAS_CON_SALDO_AJUSTADO,
  
               CASE WHEN coalesce(PASADO_8.SALDO_AJUSTADO, 0) = 0 AND coalesce(PASADO_7.SALDO_AJUSTADO, 0) = 0 AND coalesce(PASADO_6.SALDO_AJUSTADO, 0) = 0 AND coalesce(PASADO_5.SALDO_AJUSTADO, 0) = 0 AND
                         coalesce(PASADO_4.SALDO_AJUSTADO, 0) = 0 AND coalesce(PASADO_3.SALDO_AJUSTADO, 0) = 0 AND coalesce(PASADO_2.SALDO_AJUSTADO, 0) = 0 AND coalesce(PASADO_1.SALDO_AJUSTADO, 0) = 0 AND
                         coalesce(A.SALDO_AJUSTADO, 0) = 0 THEN 1 ELSE 0 END FLG_NO_TIENE_SALDO_AJUSTADO_U9M,
               CASE WHEN coalesce(PASADO_5.SALDO_AJUSTADO, 0) = 0 AND
                         coalesce(PASADO_4.SALDO_AJUSTADO, 0) = 0 AND coalesce(PASADO_3.SALDO_AJUSTADO, 0) = 0 AND coalesce(PASADO_2.SALDO_AJUSTADO, 0) = 0 AND coalesce(PASADO_1.SALDO_AJUSTADO, 0) = 0 AND
                         coalesce(A.SALDO_AJUSTADO, 0) = 0 THEN 1 ELSE 0 END FLG_NO_TIENE_SALDO_AJUSTADO_U6M,
               CASE WHEN coalesce(PASADO_2.SALDO_AJUSTADO, 0) = 0 AND coalesce(PASADO_1.SALDO_AJUSTADO, 0) = 0 AND
                         coalesce(A.SALDO_AJUSTADO, 0) = 0 THEN 1 ELSE 0 END FLG_NO_TIENE_SALDO_AJUSTADO_U3M,
               
  
               CASE WHEN (coalesce(PASADO_8.SALDO_AJUSTADO, 0) > 0 OR coalesce(PASADO_7.SALDO_AJUSTADO, 0) > 0 OR coalesce(PASADO_6.SALDO_AJUSTADO, 0) > 0 OR coalesce(PASADO_5.SALDO_AJUSTADO, 0) > 0 OR
                         coalesce(PASADO_4.SALDO_AJUSTADO, 0) > 0 OR coalesce(PASADO_3.SALDO_AJUSTADO, 0) > 0 OR coalesce(PASADO_2.SALDO_AJUSTADO, 0) > 0 OR coalesce(PASADO_1.SALDO_AJUSTADO, 0) > 0)
                         AND coalesce(A.SALDO_AJUSTADO, 0) = 0 THEN 1 ELSE 0 END FLG_TERMINO_PRESTAMO_U9M,
               CASE WHEN (coalesce(PASADO_5.SALDO_AJUSTADO, 0) > 0 OR
                         coalesce(PASADO_4.SALDO_AJUSTADO, 0) > 0 OR coalesce(PASADO_3.SALDO_AJUSTADO, 0) > 0 OR coalesce(PASADO_2.SALDO_AJUSTADO, 0) > 0 OR coalesce(PASADO_1.SALDO_AJUSTADO, 0) > 0)
                         AND coalesce(A.SALDO_AJUSTADO, 0) = 0 THEN 1 ELSE 0 END FLG_TERMINO_PRESTAMO_U6M,
               CASE WHEN (coalesce(PASADO_2.SALDO_AJUSTADO, 0) > 0 OR coalesce(PASADO_1.SALDO_AJUSTADO, 0) > 0)
                         AND coalesce(A.SALDO_AJUSTADO, 0) = 0 THEN 1 ELSE 0 END FLG_TERMINO_PRESTAMO_U3M,
               
               CASE WHEN coalesce(PASADO_8.SALDO_AJUSTADO, 0) = 0 AND coalesce(PASADO_7.SALDO_AJUSTADO, 0) = 0 AND coalesce(PASADO_6.SALDO_AJUSTADO, 0) = 0 AND coalesce(PASADO_5.SALDO_AJUSTADO, 0) = 0 AND
                         coalesce(PASADO_4.SALDO_AJUSTADO, 0) = 0 AND coalesce(PASADO_3.SALDO_AJUSTADO, 0) = 0 AND coalesce(PASADO_2.SALDO_AJUSTADO, 0) > 0 AND
                         coalesce(A.SALDO_AJUSTADO, 0) > 0 THEN 1 ELSE 0 END FLG_RECIEN_3_MESES_CON_SALDO_AJUSTADO_U9M,
               CASE WHEN coalesce(PASADO_8.SALDO_AJUSTADO, 0) = 0 AND coalesce(PASADO_7.SALDO_AJUSTADO, 0) = 0 AND coalesce(PASADO_6.SALDO_AJUSTADO, 0) = 0 AND coalesce(PASADO_5.SALDO_AJUSTADO, 0) = 0 AND
                         coalesce(PASADO_4.SALDO_AJUSTADO, 0) = 0 AND coalesce(PASADO_3.SALDO_AJUSTADO, 0) = 0 AND coalesce(PASADO_2.SALDO_AJUSTADO, 0) = 0 AND coalesce(PASADO_1.SALDO_AJUSTADO, 0) > 0 AND
                         coalesce(A.SALDO_AJUSTADO, 0) > 0 THEN 1 ELSE 0 END FLG_RECIEN_2_MESES_CON_SALDO_AJUSTADO_U9M,
               CASE WHEN coalesce(PASADO_8.SALDO_AJUSTADO, 0) = 0 AND coalesce(PASADO_7.SALDO_AJUSTADO, 0) = 0 AND coalesce(PASADO_6.SALDO_AJUSTADO, 0) = 0 AND coalesce(PASADO_5.SALDO_AJUSTADO, 0) = 0 AND
                         coalesce(PASADO_4.SALDO_AJUSTADO, 0) = 0 AND coalesce(PASADO_3.SALDO_AJUSTADO, 0) = 0 AND coalesce(PASADO_2.SALDO_AJUSTADO, 0) = 0 AND coalesce(PASADO_1.SALDO_AJUSTADO, 0) = 0 AND
                         coalesce(A.SALDO_AJUSTADO, 0) > 0 THEN 1 ELSE 0 END FLG_RECIEN_1_MES_CON_SALDO_AJUSTADO_U9M,
  
               CASE WHEN coalesce(PASADO_5.SALDO_AJUSTADO, 0) = 0 AND
                         coalesce(PASADO_4.SALDO_AJUSTADO, 0) = 0 AND coalesce(PASADO_3.SALDO_AJUSTADO, 0) = 0 AND coalesce(PASADO_2.SALDO_AJUSTADO, 0) > 0 AND
                         coalesce(A.SALDO_AJUSTADO, 0) > 0 THEN 1 ELSE 0 END FLG_RECIEN_3_MESES_CON_SALDO_AJUSTADO_U6M,
               CASE WHEN coalesce(PASADO_5.SALDO_AJUSTADO, 0) = 0 AND
                         coalesce(PASADO_4.SALDO_AJUSTADO, 0) = 0 AND coalesce(PASADO_3.SALDO_AJUSTADO, 0) = 0 AND coalesce(PASADO_2.SALDO_AJUSTADO, 0) = 0 AND coalesce(PASADO_1.SALDO_AJUSTADO, 0) > 0 AND
                         coalesce(A.SALDO_AJUSTADO, 0) > 0 THEN 1 ELSE 0 END FLG_RECIEN_2_MESES_CON_SALDO_AJUSTADO_U6M,
               CASE WHEN coalesce(PASADO_5.SALDO_AJUSTADO, 0) = 0 AND
                         coalesce(PASADO_4.SALDO_AJUSTADO, 0) = 0 AND coalesce(PASADO_3.SALDO_AJUSTADO, 0) = 0 AND coalesce(PASADO_2.SALDO_AJUSTADO, 0) = 0 AND coalesce(PASADO_1.SALDO_AJUSTADO, 0) = 0 AND
                         coalesce(A.SALDO_AJUSTADO, 0) > 0 THEN 1 ELSE 0 END FLG_RECIEN_1_MES_CON_SALDO_AJUSTADO_U6M,
  
               coalesce(A.SALDO_AJUSTADO, 0) - coalesce(PASADO_1.SALDO_AJUSTADO, 0) ULTIMA_VARIACION_SALDO_AJUSTADO,
               coalesce(PASADO_1.SALDO_AJUSTADO, 0) - coalesce(PASADO_2.SALDO_AJUSTADO, 0) VARIACION_SALDO_AJUSTADO_P1M,
               coalesce(PASADO_2.SALDO_AJUSTADO, 0) - coalesce(PASADO_3.SALDO_AJUSTADO, 0) VARIACION_SALDO_AJUSTADO_P2M,
               coalesce(PASADO_3.SALDO_AJUSTADO, 0) - coalesce(PASADO_4.SALDO_AJUSTADO, 0) VARIACION_SALDO_AJUSTADO_P3M,
               coalesce(PASADO_4.SALDO_AJUSTADO, 0) - coalesce(PASADO_5.SALDO_AJUSTADO, 0) VARIACION_SALDO_AJUSTADO_P4M,
               coalesce(PASADO_5.SALDO_AJUSTADO, 0) - coalesce(PASADO_6.SALDO_AJUSTADO, 0) VARIACION_SALDO_AJUSTADO_P5M,
               coalesce(PASADO_6.SALDO_AJUSTADO, 0) - coalesce(PASADO_7.SALDO_AJUSTADO, 0) VARIACION_SALDO_AJUSTADO_P6M,
               coalesce(PASADO_7.SALDO_AJUSTADO, 0) - coalesce(PASADO_8.SALDO_AJUSTADO, 0) VARIACION_SALDO_AJUSTADO_P7M,
               coalesce(FUTURO_1.SALDO_AJUSTADO, 0) - coalesce(A.SALDO_AJUSTADO, 0) VARIACION_SALDO_AJUSTADO_F1M,
               coalesce(FUTURO_2.SALDO_AJUSTADO, 0) - coalesce(FUTURO_1.SALDO_AJUSTADO, 0) VARIACION_SALDO_AJUSTADO_F2M,
               coalesce(FUTURO_3.SALDO_AJUSTADO, 0) - coalesce(FUTURO_2.SALDO_AJUSTADO, 0) VARIACION_SALDO_AJUSTADO_F3M,
            
               CASE WHEN coalesce(A.SALDO_AJUSTADO, 0) - coalesce(PASADO_1.SALDO_AJUSTADO, 0) > 0 THEN coalesce(A.SALDO_AJUSTADO, 0) - coalesce(PASADO_1.SALDO_AJUSTADO, 0) ELSE 0 END MONTO_VARIACION_POSITIVA_ULT_RCC,
               CASE WHEN coalesce(PASADO_1.SALDO_AJUSTADO, 0) - coalesce(PASADO_2.SALDO_AJUSTADO, 0) > 0 THEN coalesce(PASADO_1.SALDO_AJUSTADO, 0) - coalesce(PASADO_2.SALDO_AJUSTADO, 0) ELSE 0 END MONTO_VARIACION_POSITIVA_P1M,
               CASE WHEN coalesce(PASADO_2.SALDO_AJUSTADO, 0) - coalesce(PASADO_3.SALDO_AJUSTADO, 0) > 0 THEN coalesce(PASADO_2.SALDO_AJUSTADO, 0) - coalesce(PASADO_3.SALDO_AJUSTADO, 0) ELSE 0 END MONTO_VARIACION_POSITIVA_P2M,
               CASE WHEN coalesce(PASADO_3.SALDO_AJUSTADO, 0) - coalesce(PASADO_4.SALDO_AJUSTADO, 0) > 0 THEN coalesce(PASADO_3.SALDO_AJUSTADO, 0) - coalesce(PASADO_4.SALDO_AJUSTADO, 0) ELSE 0 END MONTO_VARIACION_POSITIVA_P3M,
               CASE WHEN coalesce(PASADO_4.SALDO_AJUSTADO, 0) - coalesce(PASADO_5.SALDO_AJUSTADO, 0) > 0 THEN coalesce(PASADO_4.SALDO_AJUSTADO, 0) - coalesce(PASADO_5.SALDO_AJUSTADO, 0) ELSE 0 END MONTO_VARIACION_POSITIVA_P4M,
               CASE WHEN coalesce(PASADO_5.SALDO_AJUSTADO, 0) - coalesce(PASADO_6.SALDO_AJUSTADO, 0) > 0 THEN coalesce(PASADO_5.SALDO_AJUSTADO, 0) - coalesce(PASADO_6.SALDO_AJUSTADO, 0) ELSE 0 END MONTO_VARIACION_POSITIVA_P5M,
               CASE WHEN coalesce(PASADO_6.SALDO_AJUSTADO, 0) - coalesce(PASADO_7.SALDO_AJUSTADO, 0) > 0 THEN coalesce(PASADO_6.SALDO_AJUSTADO, 0) - coalesce(PASADO_7.SALDO_AJUSTADO, 0) ELSE 0 END MONTO_VARIACION_POSITIVA_P6M,
               CASE WHEN coalesce(PASADO_7.SALDO_AJUSTADO, 0) - coalesce(PASADO_8.SALDO_AJUSTADO, 0) > 0 THEN coalesce(PASADO_7.SALDO_AJUSTADO, 0) - coalesce(PASADO_8.SALDO_AJUSTADO, 0) ELSE 0 END MONTO_VARIACION_POSITIVA_P7M,
                                                                                                                                                              
               CASE WHEN coalesce(A.SALDO_AJUSTADO, 0) - coalesce(PASADO_1.SALDO_AJUSTADO, 0) < 0 THEN 1 ELSE abs(coalesce(A.SALDO_AJUSTADO, 0) - coalesce(PASADO_1.SALDO_AJUSTADO, 0)) END MONTO_VARIACION_NEGATIVA_ULT_RCC,
               CASE WHEN coalesce(PASADO_1.SALDO_AJUSTADO, 0) - coalesce(PASADO_2.SALDO_AJUSTADO, 0) < 0 THEN abs(coalesce(PASADO_1.SALDO_AJUSTADO, 0) - coalesce(PASADO_2.SALDO_AJUSTADO, 0)) ELSE 0 END MONTO_VARIACION_NEGATIVA_P1M,
               CASE WHEN coalesce(PASADO_2.SALDO_AJUSTADO, 0) - coalesce(PASADO_3.SALDO_AJUSTADO, 0) < 0 THEN abs(coalesce(PASADO_2.SALDO_AJUSTADO, 0) - coalesce(PASADO_3.SALDO_AJUSTADO, 0)) ELSE 0 END MONTO_VARIACION_NEGATIVA_P2M,
               CASE WHEN coalesce(PASADO_3.SALDO_AJUSTADO, 0) - coalesce(PASADO_4.SALDO_AJUSTADO, 0) < 0 THEN abs(coalesce(PASADO_3.SALDO_AJUSTADO, 0) - coalesce(PASADO_4.SALDO_AJUSTADO, 0)) ELSE 0 END MONTO_VARIACION_NEGATIVA_P3M,
               CASE WHEN coalesce(PASADO_4.SALDO_AJUSTADO, 0) - coalesce(PASADO_5.SALDO_AJUSTADO, 0) < 0 THEN abs(coalesce(PASADO_4.SALDO_AJUSTADO, 0) - coalesce(PASADO_5.SALDO_AJUSTADO, 0)) ELSE 0 END MONTO_VARIACION_NEGATIVA_P4M,
               CASE WHEN coalesce(PASADO_5.SALDO_AJUSTADO, 0) - coalesce(PASADO_6.SALDO_AJUSTADO, 0) < 0 THEN abs(coalesce(PASADO_5.SALDO_AJUSTADO, 0) - coalesce(PASADO_6.SALDO_AJUSTADO, 0)) ELSE 0 END MONTO_VARIACION_NEGATIVA_P5M,
               CASE WHEN coalesce(PASADO_6.SALDO_AJUSTADO, 0) - coalesce(PASADO_7.SALDO_AJUSTADO, 0) < 0 THEN abs(coalesce(PASADO_6.SALDO_AJUSTADO, 0) - coalesce(PASADO_7.SALDO_AJUSTADO, 0)) ELSE 0 END MONTO_VARIACION_NEGATIVA_P6M,
               CASE WHEN coalesce(PASADO_7.SALDO_AJUSTADO, 0) - coalesce(PASADO_8.SALDO_AJUSTADO, 0) < 0 THEN abs(coalesce(PASADO_7.SALDO_AJUSTADO, 0) - coalesce(PASADO_8.SALDO_AJUSTADO, 0)) ELSE 0 END MONTO_VARIACION_NEGATIVA_P7M,                                                                                                                                                                                             
               CASE WHEN coalesce(A.SALDO_AJUSTADO, 0) - coalesce(PASADO_1.SALDO_AJUSTADO, 0) > 0 THEN 1 ELSE 0 END FLG_TIENE_VARIACION_POSITIVA_ULT_RCC,
               CASE WHEN coalesce(PASADO_1.SALDO_AJUSTADO, 0) - coalesce(PASADO_2.SALDO_AJUSTADO, 0) > 0 THEN 1 ELSE 0 END FLG_TIENE_VARIACION_POSITIVA_P1M,
               CASE WHEN coalesce(PASADO_2.SALDO_AJUSTADO, 0) - coalesce(PASADO_3.SALDO_AJUSTADO, 0) > 0 THEN 1 ELSE 0 END FLG_TIENE_VARIACION_POSITIVA_P2M,
               CASE WHEN coalesce(PASADO_3.SALDO_AJUSTADO, 0) - coalesce(PASADO_4.SALDO_AJUSTADO, 0) > 0 THEN 1 ELSE 0 END FLG_TIENE_VARIACION_POSITIVA_P3M,
               CASE WHEN coalesce(PASADO_4.SALDO_AJUSTADO, 0) - coalesce(PASADO_5.SALDO_AJUSTADO, 0) > 0 THEN 1 ELSE 0 END FLG_TIENE_VARIACION_POSITIVA_P4M,
               CASE WHEN coalesce(PASADO_5.SALDO_AJUSTADO, 0) - coalesce(PASADO_6.SALDO_AJUSTADO, 0) > 0 THEN 1 ELSE 0 END FLG_TIENE_VARIACION_POSITIVA_P5M,
               CASE WHEN coalesce(PASADO_6.SALDO_AJUSTADO, 0) - coalesce(PASADO_7.SALDO_AJUSTADO, 0) > 0 THEN 1 ELSE 0 END FLG_TIENE_VARIACION_POSITIVA_P6M,
               CASE WHEN coalesce(PASADO_7.SALDO_AJUSTADO, 0) - coalesce(PASADO_8.SALDO_AJUSTADO, 0) > 0 THEN 1 ELSE 0 END FLG_TIENE_VARIACION_POSITIVA_P7M,
               
               CASE WHEN coalesce(A.SALDO_AJUSTADO, 0) - coalesce(PASADO_1.SALDO_AJUSTADO, 0) < 0 THEN 1 ELSE 0 END FLG_TIENE_VARIACION_NEGATIVA_ULT_RCC,
               CASE WHEN coalesce(PASADO_1.SALDO_AJUSTADO, 0) - coalesce(PASADO_2.SALDO_AJUSTADO, 0) < 0 THEN 1 ELSE 0 END FLG_TIENE_VARIACION_NEGATIVA_P1M,
               CASE WHEN coalesce(PASADO_2.SALDO_AJUSTADO, 0) - coalesce(PASADO_3.SALDO_AJUSTADO, 0) < 0 THEN 1 ELSE 0 END FLG_TIENE_VARIACION_NEGATIVA_P2M,
               CASE WHEN coalesce(PASADO_3.SALDO_AJUSTADO, 0) - coalesce(PASADO_4.SALDO_AJUSTADO, 0) < 0 THEN 1 ELSE 0 END FLG_TIENE_VARIACION_NEGATIVA_P3M,
               CASE WHEN coalesce(PASADO_4.SALDO_AJUSTADO, 0) - coalesce(PASADO_5.SALDO_AJUSTADO, 0) < 0 THEN 1 ELSE 0 END FLG_TIENE_VARIACION_NEGATIVA_P4M,
               CASE WHEN coalesce(PASADO_5.SALDO_AJUSTADO, 0) - coalesce(PASADO_6.SALDO_AJUSTADO, 0) < 0 THEN 1 ELSE 0 END FLG_TIENE_VARIACION_NEGATIVA_P5M,
               CASE WHEN coalesce(PASADO_6.SALDO_AJUSTADO, 0) - coalesce(PASADO_7.SALDO_AJUSTADO, 0) < 0 THEN 1 ELSE 0 END FLG_TIENE_VARIACION_NEGATIVA_P6M,
               CASE WHEN coalesce(PASADO_7.SALDO_AJUSTADO, 0) - coalesce(PASADO_8.SALDO_AJUSTADO, 0) < 0 THEN 1 ELSE 0 END FLG_TIENE_VARIACION_NEGATIVA_P7M,
                  
               A.PERIODO
          FROM ......................T_MERCADO_BPE_ADQ_SF_P04 A
        LEFT JOIN ......................T_MERCADO_BPE_ADQ_SF_P04 FUTURO_1
        ON A.CODSBS = FUTURO_1.CODSBS AND A.COD_EMPRESA = FUTURO_1.COD_EMPRESA AND date_parse(cast(A.PERIODO as varchar),&#039;%Y%m&#039;) = date_add(&#039;month&#039;, -1, date_parse(cast(FUTURO_1.PERIODO as varchar),&#039;%Y%m&#039;))
        LEFT JOIN ......................T_MERCADO_BPE_ADQ_SF_P04 FUTURO_2
        ON A.CODSBS = FUTURO_2.CODSBS AND A.COD_EMPRESA = FUTURO_2.COD_EMPRESA AND date_parse(cast(A.PERIODO as varchar),&#039;%Y%m&#039;) = date_add(&#039;month&#039;, -2, date_parse(cast(FUTURO_2.PERIODO as varchar),&#039;%Y%m&#039;))
        LEFT JOIN ......................T_MERCADO_BPE_ADQ_SF_P04 FUTURO_3
        ON A.CODSBS = FUTURO_3.CODSBS AND A.COD_EMPRESA = FUTURO_3.COD_EMPRESA AND date_parse(cast(A.PERIODO as varchar),&#039;%Y%m&#039;) = date_add(&#039;month&#039;, -3, date_parse(cast(FUTURO_3.PERIODO as varchar),&#039;%Y%m&#039;))
        LEFT JOIN ......................T_MERCADO_BPE_ADQ_SF_P04 PASADO_1
        ON A.CODSBS = PASADO_1.CODSBS AND A.COD_EMPRESA = PASADO_1.COD_EMPRESA AND date_parse(cast(A.PERIODO as varchar),&#039;%Y%m&#039;) = date_add(&#039;month&#039;, +1, date_parse(cast(PASADO_1.PERIODO as varchar),&#039;%Y%m&#039;))
        LEFT JOIN ......................T_MERCADO_BPE_ADQ_SF_P04 PASADO_2
        ON A.CODSBS = PASADO_2.CODSBS AND A.COD_EMPRESA = PASADO_2.COD_EMPRESA AND date_parse(cast(A.PERIODO as varchar),&#039;%Y%m&#039;) = date_add(&#039;month&#039;, +2, date_parse(cast(PASADO_2.PERIODO as varchar),&#039;%Y%m&#039;))
        LEFT JOIN ......................T_MERCADO_BPE_ADQ_SF_P04 PASADO_3
        ON A.CODSBS = PASADO_3.CODSBS AND A.COD_EMPRESA = PASADO_3.COD_EMPRESA AND date_parse(cast(A.PERIODO as varchar),&#039;%Y%m&#039;) = date_add(&#039;month&#039;, +3, date_parse(cast(PASADO_3.PERIODO as varchar),&#039;%Y%m&#039;))
        LEFT JOIN ......................T_MERCADO_BPE_ADQ_SF_P04 PASADO_4
        ON A.CODSBS = PASADO_4.CODSBS AND A.COD_EMPRESA = PASADO_4.COD_EMPRESA AND date_parse(cast(A.PERIODO as varchar),&#039;%Y%m&#039;) = date_add(&#039;month&#039;, +4, date_parse(cast(PASADO_4.PERIODO as varchar),&#039;%Y%m&#039;))
        LEFT JOIN ......................T_MERCADO_BPE_ADQ_SF_P04 PASADO_5
        ON A.CODSBS = PASADO_5.CODSBS AND A.COD_EMPRESA = PASADO_5.COD_EMPRESA AND date_parse(cast(A.PERIODO as varchar),&#039;%Y%m&#039;) = date_add(&#039;month&#039;, +5, date_parse(cast(PASADO_5.PERIODO as varchar),&#039;%Y%m&#039;))
        LEFT JOIN ......................T_MERCADO_BPE_ADQ_SF_P04 PASADO_6
        ON A.CODSBS = PASADO_6.CODSBS AND A.COD_EMPRESA = PASADO_6.COD_EMPRESA AND date_parse(cast(A.PERIODO as varchar),&#039;%Y%m&#039;) = date_add(&#039;month&#039;, +6, date_parse(cast(PASADO_6.PERIODO as varchar),&#039;%Y%m&#039;))
        LEFT JOIN ......................T_MERCADO_BPE_ADQ_SF_P04 PASADO_7
        ON A.CODSBS = PASADO_7.CODSBS AND A.COD_EMPRESA = PASADO_7.COD_EMPRESA AND date_parse(cast(A.PERIODO as varchar),&#039;%Y%m&#039;) = date_add(&#039;month&#039;, +7, date_parse(cast(PASADO_7.PERIODO as varchar),&#039;%Y%m&#039;))
        LEFT JOIN ......................T_MERCADO_BPE_ADQ_SF_P04 PASADO_8
        ON A.CODSBS = PASADO_8.CODSBS AND A.COD_EMPRESA = PASADO_8.COD_EMPRESA AND date_parse(cast(A.PERIODO as varchar),&#039;%Y%m&#039;) = date_add(&#039;month&#039;, +8, date_parse(cast(PASADO_8.PERIODO as varchar),&#039;%Y%m&#039;))

)

Add a code snippet to your website: www.paste.org