Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so dont bother with any of their useless mail servers here and just use oauth login instead. Thank the nice Russians for causing that. :)

Paste

Pasted as Plain Text by registered user vvillacorta ( 5 years ago )
IF OBJECT_ID('STG.T_TABLON_VMVP_OPORTUNIDAD_BPE') IS NOT NULL DROP TABLE STG.T_TABLON_VMVP_OPORTUNIDAD_BPE
	SELECT
	       V.CODDOC,
	       V.NUM_DOC,
	       V.FLG_PROD_RET_SF,
	       V.FLG_PROD_COM_SF,
	       V.FLG_CUENTA_IBK,
	       V.FLG_CUENCOM_IBK,
	       V.FLG_UNIVERSO_BPE,
	       ISNULL(C.FLG_TIENE_CREDITO_BPE, 0) FLG_TIENE_CREDITO_BPE,
	       CASE WHEN M.FLG_CARTERA IS NULL THEN 0
	            WHEN M.FLG_CARTERA = 'N' THEN 0
	            WHEN M.FLG_CARTERA = 'S' THEN 1
	            ELSE -1 END FLG_CARTERA,
	       CASE WHEN M.FLG_CARTERA_NO_G0 IS NULL THEN 0
	            WHEN M.FLG_CARTERA_NO_G0 = 'N' THEN 0
	            WHEN M.FLG_CARTERA_NO_G0 = 'S' THEN 1
	            ELSE -1 END FLG_CARTERA_NO_G0,
	       ISNULL(CD.FLG_TIENE_CUENTA_CASH_DEPOSITO, 0) FLG_TIENE_CUENTA_CASH_DEPOSITO,
	       ISNULL(CD.FLG_TIENE_CUENTA_NEGOCIO, 0) FLG_TIENE_CUENTA_NEGOCIO,
	       ISNULL(CD.FLG_TIENE_CUENTA_AHORRO, 0) FLG_TIENE_CUENTA_AHORRO,
	       ISNULL(CD.FLG_TIENE_CUENTA_NEGOCIO_PJ, 0) FLG_TIENE_CUENTA_NEGOCIO_PJ,
	       ISNULL(CD.FLG_TIENE_CUENTA_NEGOCIO_PN, 0) FLG_TIENE_CUENTA_NEGOCIO_PN,
	       ISNULL(C.FLG_TIENE_CREDITO_CIMA, 0) FLG_TIENE_CREDITO_CIMA,
	       CASE WHEN M.NUM_DOC IS NOT NULL THEN 1 ELSE 0 END FLG_BANCARIZADOS,
	       CASE WHEN M.NUM_DOC IS NOT NULL AND M.BANCA_FIN = 'BPE' THEN 1 ELSE 0 END FLG_BANCARIZADOS_BPE_VPC,
	       CASE WHEN P.CODDOC IS NOT NULL THEN 1 ELSE 0 END FLG_PERTENECE_UNIV_POS,
	       --ISNULL(M.ESTADO_CONTRIBUYENTE, S.ESTADO_CONTRIBUYENTE) ESTADO_CONTRIBUYENTE,
	       --ISNULL(M.CIIU, S.CIIU) CIIU,
	       --ISNULL(M.SEI, S.SEI_MCDO) SEI,
	       --ISNULL(M.UBIGEO, S.UBIGEO) UBIGEO,
	       CASE WHEN M.TIP_CLASIF_RIESGO_SBS IS NULL THEN 'SIN CLASIFICACION'
	            WHEN M.TIP_CLASIF_RIESGO_SBS = 0 THEN 'NORMAL'
	            WHEN M.TIP_CLASIF_RIESGO_SBS = 1 THEN 'CPP'
	            WHEN M.TIP_CLASIF_RIESGO_SBS = 2 THEN 'DEFICIENTE'
	            WHEN M.TIP_CLASIF_RIESGO_SBS = 3 THEN 'DUDOSO'
	            WHEN M.TIP_CLASIF_RIESGO_SBS = 4 THEN 'PERDIDA'
	            --WHEN S.FLG_NORMAL = 1 THEN 'NORMAL'
	            --WHEN S.FLG_NORMAL = 1 THEN 'NO NORMAL'
	            ELSE 'SIN CLASIFICACION' END CLASIF_SBS,
	        CASE WHEN E.CODDOC IS NOT NULL THEN 1 ELSE 0 END FLG_PROVEEDOR_CLIENTE_IBK,
	        CASE WHEN E.CODDOC IS NOT NULL AND IMP_ABONO_SOL_MAX >= 500 THEN 1 ELSE 0 END FLG_PROVEEDOR_CLIENTE_IBK_UP_500,
	        CASE WHEN E.CODDOC IS NOT NULL AND IMP_ABONO_SOL_MAX >= 1000 THEN 1 ELSE 0 END FLG_PROVEEDOR_CLIENTE_IBK_UP_1000,
	        ISNULL(IMP_ABONO_SOL_PROM, 0) IMP_ABONO_SOL_PROM,
	        ISNULL(IMP_ABONO_SOL_MAX, 0) IMP_ABONO_SOL_MAX
	       --V.*,
		   --M.*,
	INTO STG.T_TABLON_VMVP_OPORTUNIDAD_BPE
	FROM (
			SELECT  
			  CASE WHEN LEN(CODDOC) = 11 AND SUBSTRING(CODDOC,1, 2) = '10' THEN SUBSTRING(CODDOC,3, 8)
	          ELSE CODDOC END CODDOC,
	          MAX(CODDOC) NUM_DOC,
			  MAX(TIPO_CONTRIBUYENTE) TIPO_CONTRIBUYENTE,
			  MAX(NOMBRE_COMPLETO) NOMBRE_COMPLETO,
			  MAX(SITUACION_LABORAL) SITUACION_LABORAL,
			  MAX(DISTRITO) DISTRITO,
			  MAX(DEPARTAMENTO) DEPARTAMENTO,
			  MAX(REGION) REGION,
			  MAX(FLG_CON_RCC_ULTM) FLG_CON_RCC_ULTM,
			  MAX(FLG_PROD_COM_SF) FLG_PROD_COM_SF,
			  MAX(FLG_PROD_RET_SF) FLG_PROD_RET_SF,          
			  MAX(FLG_SALDO_COM_IBK) FLG_SALDO_COM_IBK,
			  MAX(FLG_POS_MERCADO) FLG_POS_MERCADO,
			  MAX(FLG_POSVENTA_IBK) FLG_POSVENTA_IBK,
			  MAX(FLG_CREDITO_CIMA_IBK) FLG_CREDITO_CIMA_IBK,
			  MAX(FLG_CREDITO_BPE_IBK) FLG_CREDITO_BPE_IBK,
			  MAX(FLG_REALIZA_PAGPROV_IBK) FLG_REALIZA_PAGPROV_IBK,
			  MAX(PAG_PROVEED_IBK_PROM) PAG_PROVEED_IBK_PROM,
			  MAX(FLG_RECIB_PGO_PROV) FLG_RECIB_PGO_PROV,
			  MAX(FLG_CUENTA_IBK) FLG_CUENTA_IBK,
			  MAX(FLG_CUENCOM_IBK) FLG_CUENCOM_IBK,
			  MAX(FLG_CUENTA_NEGOCIO) FLG_CUENTA_NEGOCIO,
			  MAX(RANGO_MAX_12M_SAL) RANGO_MAX_12M_SAL,
			  MAX(FLG_UNIVERSO_BPE) FLG_UNIVERSO_BPE,
			  MAX(FLG_UNIV_BPE_CAMPAÑA) FLG_UNIV_BPE_CAMPAÑA,
			  MAX(FLG_UNIV_BPE_CAMPAÑA_LINRET) FLG_UNIV_BPE_CAMPAÑA_LINRET,
			  MAX(FLG_UNIV_BPE_CAMPAÑA_POS) FLG_UNIV_BPE_CAMPAÑA_POS,
			  MAX(FLG_UNIV_BPE_CAMPAÑA_POS_LINRET) FLG_UNIV_BPE_CAMPAÑA_POS_LINRET,
			  MAX(FLG_SAL_PROD_COMEX) FLG_SAL_PROD_COMEX,
			  MAX(FLG_SAL_PROD_INDIR) FLG_SAL_PROD_INDIR,
			  MAX(FLG_SAL_PROD_DESC) FLG_SAL_PROD_DESC,
			  MAX(FLG_SAL_PROD_FACT) FLG_SAL_PROD_FACT,
			  MAX(FLG_SAL_PROD_SOBRE_AVAN) FLG_SAL_PROD_SOBRE_AVAN,
			  MAX(FLG_SAL_PROD_TC) FLG_SAL_PROD_TC,
			  MAX(FLG_SAL_PROD_OTROS) FLG_SAL_PROD_OTROS
		from VPC_BASE_FINAL_COMP_SEGMENTO
		WHERE 1 = 1
		AND FLG_UNIV_BPE_CAMPAÑA_ALL = 1	
		AND PERIODO = (SELECT MAX(PERIODO) FROM VPC_BASE_FINAL_COMP_SEGMENTO)
		GROUP BY (CASE WHEN LEN(CODDOC) = 11 AND SUBSTRING(CODDOC,1, 2) = '10' THEN SUBSTRING(CODDOC,3, 8)
	          ELSE CODDOC END)
	) V
	LEFT JOIN  (
		SELECT
			CASE WHEN LEN(NUM_DOC) = 11 AND SUBSTRING(NUM_DOC,1, 2) = '10' THEN SUBSTRING(NUM_DOC,3, 8)
	          ELSE NUM_DOC END CODDOC,
	        MAX(NUM_DOC) NUM_DOC,
			MAX(PERIODO) PERIODO,
			MAX(FLG_CARTERA) FLG_CARTERA,
			MAX(FLG_CARTERA_NO_G0) FLG_CARTERA_NO_G0,
			MAX(ESTADO_CONTRIBUYENTE) ESTADO_CONTRIBUYENTE,
			MAX(BANCA_FIN) BANCA_FIN,
			MAX(CNT_ENTIDADES) CNT_ENTIDADES,
			MAX(SEGMENTO_FIN) SEGMENTO_FIN,
			MAX(REGION_FIN) REGION_FIN,
			MAX(DEPARTAMENTO_FIN) DEPARTAMENTO_FIN,
			MAX(ZONAL_CA) ZONAL_CA,
			MAX(DES_GRUPO_ECONOMICO) DES_GRUPO_ECONOMICO,
			MAX(CIIU) CIIU,
			MAX(SEI) SEI,
			MAX(MTO_DEUDA_COL_DIR_IBK) MTO_DEUDA_COL_DIR_IBK,
			MAX(MTO_DEUDA_COL_DIR_SF) MTO_DEUDA_COL_DIR_SF,
			MAX(MTO_DEUDA_COL_IND_IBK) MTO_DEUDA_COL_IND_IBK,
			MAX(MTO_DEUDA_COL_IND_SF) MTO_DEUDA_COL_IND_SF,
			MAX(UBIGEO) UBIGEO,
			MAX(TIP_CLASIF_RIESGO_SBS) TIP_CLASIF_RIESGO_SBS,
			MAX(COD_UNICO) COD_UNICO
	    --SELECT COUNT(1)
		FROM ODS.HM_MERCADO 
		WHERE PERIODO = (SELECT MAX(PERIODO) FROM ODS.HM_MERCADO)
		GROUP BY (CASE WHEN LEN(NUM_DOC) = 11 AND SUBSTRING(NUM_DOC,1, 2) = '10' THEN SUBSTRING(NUM_DOC,3, 8)
	          ELSE NUM_DOC END)
	) M -- MERCADO
	ON V.CODDOC = M.CODDOC
	LEFT JOIN(
	    SELECT 
			CASE WHEN LEN(NUM_RUC) = 11 AND SUBSTRING(NUM_RUC, 1, 2) = '10' THEN SUBSTRING(NUM_RUC, 3, 8)
			ELSE NUM_RUC END CODDOC,
		    *
		FROM T_KLI_VAR_POS_BPE 
		WHERE PERIODO = (SELECT MAX(PERIODO) FROM T_KLI_VAR_POS_BPE)
	) P  -- UNIVERSO POS
	ON V.CODDOC = P.CODDOC
	--LEFT JOIN ODS.MM_SUNAT S WITH (NOLOCK)
	--ON V.CODDOC = (
	--                   CASE WHEN LEN(S.NUMRUC) = 11 AND SUBSTRING(S.NUMRUC, 1, 2) = '10' THEN SUBSTRING(S.NUMRUC, 3, 8)
	--                        ELSE S.NUMRUC END
	--               )
	LEFT JOIN STG.T_VMVP_DETALLE_CARTERA_DIARIA C -- CARTERA DIARIA BPE
	ON V.CODDOC = C.CODDOC
	LEFT JOIN (
			SELECT CASE WHEN LEN(NRO_DOC_BEN) = 11 AND SUBSTRING(NRO_DOC_BEN, 1, 2) = '10' THEN SUBSTRING(NRO_DOC_BEN, 3, 8)
			       ELSE NRO_DOC_BEN END CODDOC,
			   AVG(IMP_ABONO_SOL) IMP_ABONO_SOL_PROM, 
			   MAX(IMP_ABONO_SOL) IMP_ABONO_SOL_MAX
		from ODS.HD_CASH_PAGOSMASIVOS 
		WHERE 1 = 1
		AND PERIODO >= '202008' 
		AND RUB='03'
		GROUP BY (CASE WHEN LEN(NRO_DOC_BEN) = 11 AND SUBSTRING(NRO_DOC_BEN, 1, 2) = '10' THEN SUBSTRING(NRO_DOC_BEN, 3, 8)
			       ELSE NRO_DOC_BEN END)
	) E -- ECOSISTEMA PROVEEDORES
	ON V.CODDOC = E.CODDOC
	
	LEFT JOIN STG.T_VMVP_DETALLE_CASH_DEPOSITO CD
	ON V.CODDOC = CD.CODDOC
	WHERE 1 = 1

 

Revise this Paste

Your Name: Code Language: