Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Ayuda con procedure (https://www.clubdelphi.com/foros/showthread.php?t=52715)

Jose Roman 29-01-2008 14:32:58

Ayuda con procedure
 
Hola a todos, Tengo 3 tablas, la primera CLIENTES la cual posee los campos ID y NOMBRE, la segunda FACTURA con los campos NUMERO,VALOR y CLIENT y la tercer tabla PAGO con los campos FACTU Y VALOR. Nesecito saber el valor total de lo facturado y el total pagado de un cliente X. Para ello he realizado un PROCEDURE debido a que con los consultas tuve problemas. El procedure es el siguiente:

CREATE PROCEDURE TOT_FC_SL (CLIEN Smallint)
RETURNS (FCT Numeric(10,2), SLD Numeric(10,2) )
AS DECLARE VARIABLE N_FC varchar(8); --> Numero de factura
DECLARE VARIABLE ABON numeric(10,2);--> Abono
DECLARE VARIABLE TABO numeric(10,2); --> Total abonado
BEGIN
TABO = 0;
FOR
SELECT COALESCE(SUM(VALOR),0)
FROM FACTURAS
WHERE CLIEN = :CLIEN
INTO :FCT
DO
FOR
SELECT ID_FC
FROM FACTURAS
WHERE CLIEN = :CLIEN
INTO :N_FC
DO
FOR
SELECT COALESCE(SUM(VALOR),0)
FROM PAGO
WHERE FACTU = :N_FC
INTO :ABON
DO
TABO = TABO + ABON;
SUSPEND;
SLD = TABO;


El problema radica en que solo me da el total de lo facturado pero no arroja ningun valor para lo pagado, donde esta el error?

Ivanzinho 29-01-2008 15:26:55

Hola José Román, te recomendaría que en lo sucesivo etiquetases el código para una mejor lectura.

Los datos que tu necesitas se pueden obtener con dos consultas facilmente

Facturado
Código SQL [-]
Select F.Client, sum(F.Valor) Facturado
from Factura F
where F.client = idcliente

Pagado
Código SQL [-]
Select F.Client, sum(P.Valor) Pagado
from Facturado inner join pagado on F.Numero = P.Factu
where F.Client = idcliente

Un saúdo

Jose Roman 29-01-2008 15:31:53

Gracias por la ayuda, en cuanto a la tiqueteada en el equipo donde me encuentro tiene un programa llamado iProtectYou el cual me da dolores de cabeza y me desactiva mas de una cosa, como este equipo se ubica donde trabajo no puedo desactivar esto debido a que no poseeo el password; si sabes que puedo hacer con esto me gustaria saberlo, en caso contrario gracias por tu ayuda.

maeyanes 29-01-2008 15:42:43

Hola...

Nada te impide escribir las etiquetas directamente en tu mensaje: [ sql ] [ /sql ], [ delphi ] [ /delphi ], [ php ] [ /php ] (todas sin espacios en blanco)...


Saludos... :)


La franja horaria es GMT +2. Ahora son las 21:40:19.

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