Skip to content

joinConvert bug fix #3

Description

@sqlparser

https://github.com/sqlparser/gsp_demo_java/tree/master/src/main/java/demos/joinConvert

SQL Server

	SELECT @id_proceso, ppc.id_pv, ppc.cod_aseg, ppc.nro_cuota
	, convert(VARCHAR, mag.cod_tipo_agente) + ' ' + convert(VARCHAR, mag.cod_agente) + ' - ' + mag.txt_cheque_a_nom corredor
	, tr.txt_desc_redu ramo
	, ph.nro_pol poliza
	, min(ph.fec_emi) emision
	, min(ph.fec_vig_desde) vigencia
	, mh.txt_nom_factura contratante
	, mhp.txt_nom_factura pagador
    --smontenegro_20140818_ini
	/*, (	SELECT tc.txt_desc_cond
		FROM mpersona_conducto mpc, tconducto tc
		WHERE mpc.id_persona = mhp.id_persona
		AND mpc.ind_conducto = pp.ind_conducto
		AND tc.cod_conducto = mpc.cod_conducto) conducto*/
    ,tc.txt_desc_cond as conducto    
    --smontenegro_20140818_fin
    /*Cambia el rango de morosidad JG 24/02/2017*/        
	, sum(CASE WHEN datediff(day, ppc.fec_venc, @fec_corte) < 0 THEN ppc.imp_premio_me ELSE 0 END) por_vencer
	, sum(CASE WHEN datediff(day, ppc.fec_venc, @fec_corte) BETWEEN 0 AND 31 THEN ppc.imp_premio_me ELSE 0 END) dias_30
	, sum(CASE WHEN datediff(day, ppc.fec_venc, @fec_corte) BETWEEN 32 AND 61 THEN ppc.imp_premio_me ELSE 0 END) dias_60
	, sum(CASE WHEN datediff(day, ppc.fec_venc, @fec_corte) BETWEEN 62 AND 90 THEN ppc.imp_premio_me ELSE 0 END) dias_90
	, sum(CASE WHEN datediff(day, ppc.fec_venc, @fec_corte) >= 91 THEN ppc.imp_premio_me ELSE 0 END) dias_120
	, sum(ppc.imp_premio_me) total, 0,/*bfierro */ tsuc.txt_nom_suc, convert(VARCHAR, mag.cod_agente), mag.txt_cheque_a_nom corredor,nro_dia_cobro
	FROM maseg_header mh, 
         magente mag, 
         pv_header ph, 
         tramo tr, 
         maseg_header mhp, 
         pv_pagador pp, 
         pv_pagador_cuota ppc
         --smontenegro_20140818_ini
         ,mpersona_conducto mpc
         ,tconducto tc
         --smontenegro_20140818_fin
         --bfierro ini
         ,tsuc 
         --bfierrofin
         
	WHERE mhp.cod_aseg 		= ppc.cod_aseg
	AND pp.id_pv 			= ppc.id_pv 
	AND pp.cod_aseg 		= ppc.cod_aseg
	AND ph.id_pv 			= ppc.id_pv 
	AND mh.cod_aseg 		= ph.cod_aseg 
	AND tr.cod_ramo 		= ph.cod_ramo 
	AND mag.cod_tipo_agente = ph.cod_tipo_agente 
	AND mag.cod_agente 		= ph.cod_agente 
	AND ph.cod_suc          = tsuc.cod_suc --bfierro
	AND ph.cod_suc 			= isnull(@cod_suc, ph.cod_suc)
	AND ph.cod_ramo 		= isnull(@cod_ramo, ph.cod_ramo)
	AND ph.cod_aseg 		= isnull(@cod_contratante, ph.cod_aseg)
	AND ph.cod_tipo_agente 	= isnull(@cod_tipo_agente, ph.cod_tipo_agente)
	AND ph.cod_agente 		= isnull(@cod_agente, ph.cod_agente)
	AND ppc.cod_aseg 		= isnull(@cod_pagador, ppc.cod_aseg)
	AND ppc.cod_estado 		in (1,3)
    --smontenegro_20140818_ini
    AND mhp.id_persona   *= mpc.id_persona
    AND pp.ind_conducto  *= mpc.ind_conducto
	AND tc.cod_conducto   = pp.cod_conducto
    AND tc.cod_conducto   = isnull(@cod_conducto, tc.cod_conducto)
    --smontenegro_20140818_fin    
	GROUP BY mag.cod_tipo_agente
	, mag.cod_agente
	, mag.txt_cheque_a_nom
	, tr.txt_desc_redu
	, ph.nro_pol 
	, mh.txt_nom_factura
	, mhp.txt_nom_factura
	, mhp.id_persona 
	, pp.ind_conducto
    --smontenegro_20140818_ini
    ,tc.txt_desc_cond
     --smontenegro_20140818_fin
    , ppc.id_pv
    , ppc.cod_aseg
    , ppc.nro_cuota
    , tsuc.txt_nom_suc
    ,nro_dia_cobro

转换以后的SQL

SELECT @id_proceso, ppc.id_pv, ppc.cod_aseg, ppc.nro_cuota
	, convert(VARCHAR, mag.cod_tipo_agente) + ' ' + convert(VARCHAR, mag.cod_agente) + ' - ' + mag.txt_cheque_a_nom corredor
	, tr.txt_desc_redu ramo
	, ph.nro_pol poliza
	, min(ph.fec_emi) emision
	, min(ph.fec_vig_desde) vigencia
	, mh.txt_nom_factura contratante
	, mhp.txt_nom_factura pagador
    --smontenegro_20140818_ini
	/*, (	SELECT tc.txt_desc_cond
		FROM mpersona_conducto mpc, tconducto tc
		WHERE mpc.id_persona = mhp.id_persona
		AND mpc.ind_conducto = pp.ind_conducto
		AND tc.cod_conducto = mpc.cod_conducto) conducto*/
    ,tc.txt_desc_cond as conducto    
    --smontenegro_20140818_fin
    /*Cambia el rango de morosidad JG 24/02/2017*/        
	, sum(CASE WHEN datediff(day, ppc.fec_venc, @fec_corte) < 0 THEN ppc.imp_premio_me ELSE 0 END) por_vencer
	, sum(CASE WHEN datediff(day, ppc.fec_venc, @fec_corte) BETWEEN 0 AND 31 THEN ppc.imp_premio_me ELSE 0 END) dias_30
	, sum(CASE WHEN datediff(day, ppc.fec_venc, @fec_corte) BETWEEN 32 AND 61 THEN ppc.imp_premio_me ELSE 0 END) dias_60
	, sum(CASE WHEN datediff(day, ppc.fec_venc, @fec_corte) BETWEEN 62 AND 90 THEN ppc.imp_premio_me ELSE 0 END) dias_90
	, sum(CASE WHEN datediff(day, ppc.fec_venc, @fec_corte) >= 91 THEN ppc.imp_premio_me ELSE 0 END) dias_120
	, sum(ppc.imp_premio_me) total, 0,/*bfierro */ tsuc.txt_nom_suc, convert(VARCHAR, mag.cod_agente), mag.txt_cheque_a_nom corredor,nro_dia_cobro
	FROM maseg_header mh
inner join pv_header ph on mh.cod_aseg 		= ph.cod_aseg
inner join magente mag on mag.cod_tipo_agente = ph.cod_tipo_agente and mag.cod_agente 		= ph.cod_agente
inner join tramo tr on tr.cod_ramo 		= ph.cod_ramo
inner join pv_pagador_cuota ppc on ph.id_pv 			= ppc.id_pv
inner join maseg_header mhp on mhp.cod_aseg 		= ppc.cod_aseg
inner join pv_pagador pp on pp.id_pv 			= ppc.id_pv and pp.cod_aseg 		= ppc.cod_aseg and pp.ind_conducto  = mpc.ind_conducto
left outer join mpersona_conducto mpc on mhp.id_persona   = mpc.id_persona
inner join tconducto tc on tc.cod_conducto   = pp.cod_conducto
inner join tsuc on ph.cod_suc          = tsuc.cod_suc
         --smontenegro_20140818_ini
         --smontenegro_20140818_fin
         --bfierro ini
         --bfierrofin
	WHERE ph.cod_suc 			= isnull(@cod_suc, ph.cod_suc)
	AND ph.cod_ramo 		= isnull(@cod_ramo, ph.cod_ramo)
	AND ph.cod_aseg 		= isnull(@cod_contratante, ph.cod_aseg)
	AND ph.cod_tipo_agente 	= isnull(@cod_tipo_agente, ph.cod_tipo_agente)
	AND ph.cod_agente 		= isnull(@cod_agente, ph.cod_agente)
	AND ppc.cod_aseg 		= isnull(@cod_pagador, ppc.cod_aseg)
	AND ppc.cod_estado 		in (1,3)
    --smontenegro_20140818_ini
    AND tc.cod_conducto   = isnull(@cod_conducto, tc.cod_conducto)
    --smontenegro_20140818_fin    
	GROUP BY mag.cod_tipo_agente
	, mag.cod_agente
	, mag.txt_cheque_a_nom
	, tr.txt_desc_redu
	, ph.nro_pol 
	, mh.txt_nom_factura
	, mhp.txt_nom_factura
	, mhp.id_persona 
	, pp.ind_conducto
    --smontenegro_20140818_ini
    ,tc.txt_desc_cond
     --smontenegro_20140818_fin
    , ppc.id_pv
    , ppc.cod_aseg
    , ppc.nro_cuota
    , tsuc.txt_nom_suc
    ,nro_dia_cobro

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions