primero les cometo el antecedente
tengo 2 tablas
cuentas y saldos
en cuentas estan toooodos los deudores
en saldos por cada pago que meten por medio de un sistema loco ( no le entiendo )
se agrega un registro que mas adelante puede se autorizado o cancelado, pero no se borra ( para que mantener pagos que no sirven )
ahora tengo la intencion de detectar que cuentas son las que estan realmente liquidadas
pero no lo quiero hacer a mano por lo que pense en una consulta de mysql
la hice asi
sql
mysql> SELECT -> cuenta.folio, -> cuenta.nombre, -> cuenta.no_credito, -> saldo.saldo AS inicial, -> SUM(saldo.pago) AS pagos , -> -> saldo.saldo + (- SUM(saldo.pago) ) -> -> -> FROM -> saldo -> INNER JOIN cuenta ON cuenta.id_cuenta = saldo.id_cuenta -> -> WHERE -> -> -> cuenta.folio ='T002701081' -> -> -> GROUP BY saldo.id_cuenta -> ; +------------+-------------------------+------------+---------+---------+------------------------------------+ | folio | nombre | no_credito | inicial | pagos | saldo.saldo + (- SUM(saldo.pago) ) | +------------+-------------------------+------------+---------+---------+------------------------------------+ | T002701081 | LOPEZ TERRAZAS FERNANDO | 930 | 4266.00 | 5759.10 | -1493.0999755859 | +------------+-------------------------+------------+---------+---------+------------------------------------+ 1 ROW IN SET (2.18 sec)
pero me falta calcular
cuanto es lo que deberia de pagar para cotejarlo con lo que ha pagado y si es asi mandarlo a un archivo de texto
el calculo es mas o menos asi
si la deuda inicial
es mayor a 999.99 agregar 35 %
de lo contrario si es mayor a 99.99 agregar 300 pesos
de lo contrario agregar 250
pero puedo manejar ese nivel de IF con anidaciones ??
como puedo hacer para que el calculo lo haga exclusivamente con el primer registro de saldo que se tenga en la base de datos ??
Digo la idea inicial que se me ocurrio es
1.- crear una tabla nueva "A" ( chance temporal ) donde se copien todos los numeros de cuenta que tengan un registro con saldo igual a cero
2.- en base a esa tabla temporal hacer una consulta de el saldo con fecha menor a 2006 ( fecha del inicio de la gestion ) y en base a ese saldo hacer el calculo de cuanto deberia de pagar
3.- agregar esos dos resultados a "A"
4.- en base a los numeros de cuenta de la tabla "A" hacer una consulta que como resultado de la suma de los pagos de cada cuenta
5.- agregar ese resultado a la tabla "A"
6.- hacer una ultima consulta a la tabla "A" y si lo que deverian de haber pagado es lo que han pagado hacer un update al campo observaciones de la tabla cuentas que diga FINIQUITADO
de lo contrario mandar los registros a un archivito de texto para revisar manualmente las cuentas si es que tuvieron una condonacion o algo por el estilo
Si no me entienden la loca idea lo sabre entender
SE ACEPTAN SUGERENCIAS DE PROCEDIMIENTOS MAS SENCILLOS