Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-06-2003
FlacoNet FlacoNet is offline
Miembro
 
Registrado: jun 2003
Posts: 38
Poder: 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
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 08:03:32.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi