SELECT a.*, b.*,
    e.COD_UNICO,
    e.DES_TRANSAC_GRUPO_N2,
    e.DES_TRANSAC_GRUPO_N3,
    e.SERVICIOS,
    e.Monto_Cash_in,  
    e.Monto_Cash_out,
    e.cant_cash_in,
    e.cant_cash_out,
    e.fecha_1er_trx,
    e.fecha_ult_trx
FROM (
      select y.*, 
             CODIGO_UNICO Codigo_Unico_final ,
             CASE WHEN SELECCIONADO_GAT = 'servicios' then 'bucket_pago_servicios'
                  WHEN SELECCIONADO_GAT = 'trading' then 'bucket_trading'
                  WHEN SELECCIONADO_GAT = 'planillas' then 'bucket_pago_planillas'
                  WHEN SELECCIONADO_GAT = 'sunat_nps' then 'bucket_pago_servicios_nps'
                  else '-' end bucket_corregido 
             FROM t_jv_model_gat y
        WHERE MODELO = 'GATILLADOR'
            AND SELECCIONADO_GAT IS NOT NULL
            and PERIODO_CAMPANIA = '{periodo}'
) a
LEFT JOIN (
    SELECT 
        P.COD_UNICOCLIENTE,
        P.CANT_G,
        P.CANT_CE,
        P.CANT_AC,
        P.CANT_LEADS,
        CASE
 
            WHEN COD_MES = 202310 THEN 202309 
            WHEN COD_MES = 202311 THEN 202310
            WHEN COD_MES = 202312 THEN 202311 
            WHEN COD_MES = 202401 THEN 202312 
            WHEN COD_MES = 202402 THEN 202401 
            WHEN COD_MES = 202403 THEN 202402 
            WHEN COD_MES = 202404 THEN 202403 
            WHEN COD_MES = 202405 THEN 202404 
        END AS PERIODO_MODEL,
        COD_MES AS PERIODO_CAMPANIA
    FROM ODS.HD_NBARRIDO_GESTION_ININ_VTA_BPE P
    WHERE COD_MES = '{periodo}'
        AND TIPO_CARGA IN ('CARTERIZACION TLV','ONBOARDRING TLV B')
) b
ON a.Codigo_Unico_final = b.COD_UNICOCLIENTE
    AND a.PERIODO = b.PERIODO_MODEL
LEFT JOIN (
   SELECT CASE 
            WHEN PERIODO_INFORMACION = 202310 THEN 202309 
            WHEN PERIODO_INFORMACION = 202311 THEN 202310 
            WHEN PERIODO_INFORMACION = 202312 THEN 202311
            WHEN PERIODO_INFORMACION = 202401 THEN 202312
            WHEN PERIODO_INFORMACION = 202402 THEN 202401
            WHEN PERIODO_INFORMACION = 202403 THEN 202402
            WHEN PERIODO_INFORMACION = 202404 THEN 202403
             END AS PERIODO_CAMPANIA,
             COD_UNICO,
             DES_TRANSAC_GRUPO_N3, 
             DES_TRANSAC_GRUPO_N2, 
             DES_TRANSAC_GRUPO_N1,
             SERVICIOS,
 
             sum(case when (SIGNO_MONTO = '+') and (DES_MON_ORIG = 'DOLARES') then MONTO_TRANSAC*3.4 
                      when (SIGNO_MONTO = '+') and (DES_MON_ORIG = 'SOLES') then MONTO_TRANSAC 
                      else 0 end) Monto_Cash_in,  
             sum(case when (SIGNO_MONTO = '-') and (DES_MON_ORIG = 'DOLARES') then MONTO_TRANSAC*3.4 
                      when (SIGNO_MONTO = '-') and (DES_MON_ORIG = 'SOLES') then MONTO_TRANSAC 
                      else 0 end) Monto_Cash_out,  
             sum(case when SIGNO_MONTO = '+' then 1 else 0 end) cant_cash_in,
             sum(case when SIGNO_MONTO = '-' then 1 else 0 end) cant_cash_out,
             min(FECHA_INFORMACION) fecha_1er_trx,
             max(FECHA_INFORMACION) fecha_ult_trx
			 FROM (      
	  SELECT 
            PERIODO_INFORMACION,
            COD_UNICO,
            DES_TRANSAC_GRUPO_N3, 
            DES_TRANSAC_GRUPO_N2, 
            DES_TRANSAC_GRUPO_N1,
			CASE 
				  WHEN DES_TRANSAC_GRUPO_N2 = 'PAGO DE SERVICIOS' AND DES_TRANSAC_GRUPO_N3 = 'PAGO DE SERVICIOS' THEN 'bucket_pago_servicios' 
				  WHEN DES_TRANSAC_GRUPO_N1 = 'PAGOS MASIVOS' AND 
				       DES_TRANSAC_GRUPO_N2 = 'PLANILLAS' AND 
					   DES_TRANSAC_GRUPO_N3 = 'PLANILLAS' THEN 'bucket_pago_planillas'
				  WHEN DES_TRANSAC_GRUPO_N2 = 'PAGO SUNAT' AND DES_TRANSAC_GRUPO_N3 = 'NPS' THEN 'bucket_pago_servicios_nps' 
				  ELSE NULL -- Cambiado a NULL
			END AS SERVICIOS,
            SIGNO_MONTO,
            MONTO_TRANSAC,
            DES_MON_ORIG,
            FECHA_INFORMACION
        FROM ods.hd_transaccion
        WHERE
            FECHA_INFORMACION LIKE ('{periodo}%')
            AND COD_UNICO IN (
                SELECT DISTINCT CODUNICOCLI
                FROM ODS.HD_BASE_STOCK_CN 
                WHERE
                    CARTERA = 'NEGOCIO'
                    AND BANCA = 'BPE'
                    AND CODMES = '{periodo}'
            )
            AND DES_TRANSAC_GRUPO_N3 IN ('PLANILLAS','NPS','PAGO DE SERVICIOS')
			 UNION ALL
 
                SELECT
                    '{periodo}' PERIODO_INFORMACION,
                    CU COD_UNICO,
                    'CAMBIOS' DES_TRANSAC_GRUPO_N3,
                    'CAMBIOS' DES_TRANSAC_GRUPO_N2,
					'OPERACIONES MESA' DES_TRANSAC_GRUPO_N1,
                    'bucket_trading' SERVICIOS,        
                    '-' SIGNO_MONTO,
                    VOL_USD * -1*3.58 MONTO_TRANSAC,
                    'SOLES' DES_MON_ORIG,
                    FECLABORAL FECHA_INFORMACION
                FROM stg.t_cambios
                WHERE FECLABORAL LIKE '{anio}-{mes}%') X
				WHERE DES_TRANSAC_GRUPO_N1 NOT IN  ('PAGOS RECIBIDOS')
				GROUP BY PERIODO_INFORMACION,
             COD_UNICO,
             DES_TRANSAC_GRUPO_N3, 
             DES_TRANSAC_GRUPO_N2, 
             DES_TRANSAC_GRUPO_N1,
             SERVICIOS

 
) e
ON a.Codigo_Unico_final = e.COD_UNICO
    AND a.bucket_corregido = e.SERVICIOS
    AND a.PERIODO = e.PERIODO_CAMPANIA;

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