Ver Mensaje Individual
  #1  
Antiguo 29-01-2008
Jose Roman Jose Roman is offline
Miembro
 
Registrado: jul 2006
Ubicación: Colombia
Posts: 361
Reputación: 18
Jose Roman Va por buen camino
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?

Última edición por Jose Roman fecha: 29-01-2008 a las 15:09:26.
Responder Con Cita