Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/01/2008, 00:29
vito.alessandro
 
Fecha de Ingreso: abril-2006
Mensajes: 9
Antigüedad: 19 años
Puntos: 0
Store Procedure Problemas!!!! AYUDA!!

Holas....
la verdad es que me siento mal puesto que no puedo solucionar un problema...
les explico:
existe un sistema que carga 2 archivos dbf y los exporta en excel...
y en excel hay unos campos que no me salen como debe de ser.
1. la bd tiene 3 tablas (tbl_consolna, tbl_consoljr, tbl_parametros. cosa que los 2 primeros tienen los mismos campos pero no tienen relacion alguna)

Proceso para hallar el Indice Ponderado de cada uno:

Naturales (Na_Garantia_Nula = Gar02 y Na_Ptj_Nula = PunTot)
------------
select @li_na_Num_Nula = count(*), @ld_na_Monto_Nula = sum(Imp01 + Imp02 + Imp03 + Imp04 + Imp05 + Imp06 + Imp07 + Imp08 + Imp09 + Imp10)
from tbl_consolna
where (PunTot > 5) or
observa in ('Clte no Exp.Deu.Sist.Financ.Total= Deu.Sist.Financ')

select @ld_na_Ind_Pond_Nula = sum((Imp01 + Imp02 + Imp03 + Imp04 + Imp05 + Imp06 + Imp07 + Imp08 + Imp09 + Imp10 - Gar02)*PunTot)
from tbl_consolna
where (PunTot > 5) or
observa in ('Clte no Exp.Deu.Sist.Financ.Total= Deu.Sist.Financ')


set @ld_na_Ind_Pond_Nula = convert(decimal(18,3), @ld_na_Ind_Pond_Nula) / convert(decimal(18,3), @ld_na_Monto_Nula)


Juridicos (Jr_Garantia_Nula = Gar02 y Jr_Ptj_Nula = PunTot)
-----------
select @li_jr_Num_Nula = count(*), @ld_jr_Monto_Nula = sum(Imp01 + Imp02 + Imp03 + Imp04 + Imp05 + Imp06 + Imp07 + Imp08)
from tbl_consoljr
where (PunTot > 5)

select @ld_jr_Ind_Pond_Nula = sum((Imp01 + Imp02 + Imp03 + Imp04 + Imp05 + Imp06 + Imp07 + Imp08 - Gar02)*PunTot)
from tbl_consoljr
where (PunTot > 5)


set @ld_jr_Ind_Pond_Nula = convert(decimal(18,3), @ld_jr_Ind_Pond_Nula) / convert(decimal(18,3), @ld_jr_Monto_Nula)


La solucion debe der ser mediante esta formula: Indice_Ponderado_Total_Nula

@ld_ba_Ind_Pon_Nula = sum((monto_nula - garantia_nula) * Puntaje_nula) / sum(monto_nula)

monto nula = @ld_na_Monto_Nula + @ld_jr_Monto_Nula
garantia = @ld_na_Gar_Nula + @ld_jr_Gar_Nula
Puntaje = @ld_na_Ptj_Nula + @ld_jr_Ptj_Nula

yo he tenido que crear:

select @ld_na_Gar_Nula = sum(Gar02)
from tbl_consolna
where (PunTot > 5) or
observa in ('Clte no Exp.Deu.Sist.Financ.Total= Deu.Sist.Financ')

select @ld_jr_Gar_Nula = sum(Gar02)
from tbl_consoljr
where (PunTot > 5)

select @ld_na_Ptj_Nula = sum(PunTot)
from tbl_consolna
where (PunTot > 5) or
observa in ('Clte no Exp.Deu.Sist.Financ.Total= Deu.Sist.Financ')

select @ld_jr_Ptj_Nula = sum(PunTot)
from tbl_consoljr
where (PunTot > 5)

----------------------------------------------------

ahora nose como hacer el

set @ld_ba_Ind_Pond_Nula = convert(decimal(18,3), @ld_ba_Ind_Pond_Nula) / convert(decimal(18,3), @ld_ba_Monto_Nula)

antes de eso hay un select..... (verde)

AYUDARME!!! ... Muchas Gracias.

Última edición por vito.alessandro; 20/01/2008 a las 00:34 Razón: Faltaba