SQL - Calculo de interes en pgAdmin III

 
Vista:
Imágen de perfil de manolo

Calculo de interes en pgAdmin III

Publicado por manolo (2 intervenciones) el 06/08/2014 16:53:24
Ayuda para decifrar este codigo, e comentado algunas partes segun lo que creo pero no estoy seguro... me intesa mucho la parte del round y todo lo relacionado a el.
select cre.crednumero, // Puede ser el valor que ingresa el usuario en al momento de definir

//Variables de entorno{
cre.credinteres, // almacena la variable de interes. posiblemente la tasa por ejemplo 19.50%
min(cxc.cxcfechavence) as cxcfechavence, // fecha de vencimiento de pago de cada cuota, esta variable esta involucrada en el calculo de interes...
min(cxc.montocapitalorig) as montocapitalcta, // monto capital o amortizacion... forma parte de la cuota
min(cxc.montointeresorig) as montointerescta, // monto interes o intereses
min(cxc.cxcsaldo) as saldo, // Saldo capital en la tabla de sistema
//}

round((((cxc.montocapital * cre.credinteres)/100)) * CAST((CASE WHEN (EXTRACT(DAY FROM (AGE(CAST(cre.credfchsolicitud AS DATE))))) >= 30 THEN 30 ELSE (EXTRACT(DAY FROM (AGE(CAST(cre.credfchsolicitud AS DATE))))) END) + (EXTRACT(MONTH FROM (AGE(CAST(cre.credfchsolicitud AS DATE))))) * 30 + (EXTRACT(YEAR FROM (AGE(CAST(cre.credfchsolicitud AS DATE))))) * 360 AS NUMERIC)
/ 360 ,2) as interesctaalafecha, // Calculo de fecha (dd/mm/aaaa)...
per.codnip, // variable que almacena la identificacion por ejemplo Numero de Cedula...
cre.credtipocod, // cred_tipo_cod ???? posiblemente asociado al formulario de este sistema...
cre.credmontoliquidac, // cred_monto_liquidac ???? es posible que este asociado a liquidacion de un credito...
par.credpmontoliquidac // cred_p_monto_liquidac ???? al igual que as dos anteriores varibles 15,16 forma parte del formulario y esposible que no sea necesario para el calculo de interes...

from personas as per // llama a datos de la estructura personas y las renombra con per...

inner join creditos as cre // une creditos a cre posiblemente esta estructura se encaga de llenar la tabla uniendo valores...
on per.ciaopr = cre.ciaopr // en personas.ciaopr va ser igual a cre.ciaopr...
and per.nropersona = cre.nropersona // y en personas.numeropersona va a ser igual a cre.numeropersona...
and cre.credestatus in ('LIQ') // y cre.creditostatus en liquidacion('LIQ') es decir cambia estado del credito a liquidado('LIQ')...
and cre.credestatrazoncod not in ('ANU') // cre.crede_stat_razon_cod('ANU') es decir cambia el estado del credito a ANULACION ('ANU')...

left join cta_efec_x_cobrar as cxc // une cta_efec_x_cobrar a cxc posiblemente esta estructura se encaga de llenar la tabla uniendo valores...
on cxc.ciaopr = cre.ciaopr // en cxc.ciaopr va ser igual a cre.ciaopr...
and cxc.crednumero = cre.crednumero // y cxc.credito_numero va ser igual a cre.credito_numero....
and cast(cxc.cxcfechavence as date) >= now() // parece establecer si la fecha de vencimiento es mayor o igual a hoy...
and cxc.cxcsaldo > 0.00 // parece establecer la comparacion de si saldo es mayo a 0...

inner join creditos_partes as par // une creditos_partes a par posiblemente esta estructura se encaga de llenar la tabla uniendo valores...
on cxc.ciaopr = par.ciaopr // en cxc.ciaopr va ser igual a par.ciaopr...
and cxc.crednumero = par.crednumero // cxc.credito_numero va a ser igual a credito_numero...
and cxc.credpartesecuencia = par.credpartesecuencia // y cxc.credito_parte_secuencia va a ser igual a par.credito_parte_secuencia...
and par.frecpagocod in ('GIRAGUI') // y par.frecuencia_pago_cod en ('GIRAGUI')...

where per.ciaopr = '1' // posiblemente sea el numero de cuotas que inicia en 1 o algun tipo de registro para la persona...
and per.tipnip in('V','E') // tipo de estado venezolano o extranjero...
and per.codnip = '7682282' // numero de cedula como valor unico
group by 1,2,7,8,9,10,11 // ???? establece un orden pero de qué? no sigue un patron establecido...
order by 4 // ???? es posible que se trate de la agrupacion de las cuotas de 4 en 4...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder