Ver Mensaje Individual
  #1  
Antiguo 12-06-2003
FlacoNet FlacoNet is offline
Miembro
 
Registrado: jun 2003
Posts: 38
Reputación: 0
FlacoNet Va por buen camino
Consulta SQL de saldos

Hola...estoy hace un tiempo sin darle una solucion a mi problema.
Les cuento:
Tengo dos tablas(uso interbase 7 y delphi 6), una de debitos (id_cliente, importe)y otra de creditos (id_cliente, importe) entre otros campos.
En la de debitos agrego un registro cuando viene un cliente y me encarga algo anotando en el registro importe su valor. Y como es de deducir en la tabla creditos agrego registros con el importe de lo que me pagan..Van entendiendo hasta aqui?
Entonces lo que quiero hacer es sumar la columna importe de debitos y restarla con la suma de la columna importe de la tabla creditos para cada cliente.
Escribo la consulta detallada a continuacion pero ahora no se como hacer para hacer un 'GROUP BY id_client' del resultado.
Código:
select clientes.id_client , nombre, sum(import)*-1 as Saldo
from clientes inner join debitos
   on clientes.id_client = debitos.id_client
group by clientes.id_client , nombre
UNION
select clientes.id_client , nombre, sum(import) as Saldo
from clientes inner join creditos
   on clientes.id_client = creditos.id_client
group by clientes.id_client , nombre
La solucion que hasta ahore le encontre pero que no me convence es escribir el codigo anterior en un procedimiento almacenado sp_saldo y luego en un componente de consulta en delphi escribir lo siguiente en la propiedad SQL:
Código:
select id_cliente,nombre,sum(saldo) Saldo from sp_saldos
group by id_cliente,nombre
having sum(saldo) <> 0
order by nombre
Es decir, lo utilizaria al procedimiento como tabla y sobre el resultado desde aqui SI podria hacer otro GROUP BY. el problema es que debo desglosar el codigo y quiero meterlo todo en el procedimiento almacenado.....

Muchas gracias por su tiempo....
Responder Con Cita