Tema: Ayuda Sql
Ver Mensaje Individual
  #1  
Antiguo 25-11-2007
Avatar de BuenaOnda
BuenaOnda BuenaOnda is offline
Miembro
 
Registrado: feb 2006
Ubicación: La Serena - Chile
Posts: 347
Reputación: 21
BuenaOnda Va por buen camino
Ayuda Sql

Hola...
Amigos, alguien sabe alguna manera de poder acumular la suma de dos registros resultantes en Sql (Firebird), por ejemplo:

Código SQL [-]
SELECT VAL.FECHA AS FECHA_DEUDA,PROV.RUT_PROVEEDOR,PROV.DV_PROVEEDOR,PROV.DESCRIPCION,
       (VAL.VALOR_COMPRA - (NOTA.TTNOTA + ABONO.TTABONO)) AS VALOR_DEUDA,
       VAL.VALOR_COMPRA,NOTA.TTNOTA, ABONO.TTABONO
FROM(SELECT DISTINCT A.CODIGO_PROVEEDOR,B.RUT_PROVEEDOR,B.DV_PROVEEDOR,B.DESCRIPCION
       FROM FACTURA_DE_COMPRAS A, PROVEEDORES B
      WHERE A.CODIGO_PROVEEDOR=B.CODIGO_PROVEEDOR
        AND A.FACTURA_CANCELADA='N'
        AND A.ANULADA='N') PROV
  LEFT JOIN(SELECT CODIGO_PROVEEDOR,MIN(FECHA_COMPRA) AS FECHA,COALESCE(SUM(TOTAL_COMPRA),0) AS VALOR_COMPRA
              FROM FACTURA_DE_COMPRAS
             WHERE FACTURA_CANCELADA='N'
               AND ANULADA='N'
             GROUP BY CODIGO_PROVEEDOR) AS VAL ON VAL.CODIGO_PROVEEDOR=PROV.CODIGO_PROVEEDOR    
  LEFT JOIN(SELECT A.CODIGO_PROVEEDOR,COALESCE(SUM(A.TOTAL_NOTA),0) AS TTNOTA
              FROM NOTA_CREDITO_PROVEEDORES A, FACTURA_DE_COMPRAS B
             WHERE A.CODIGO_PROVEEDOR=B.CODIGO_PROVEEDOR
               AND A.CODIGO_FACTURA_DE_COMPRA=B.CODIGO_FACTURA_DE_COMPRA
               AND B.FACTURA_CANCELADA='N'
               AND B.ANULADA='N'
             GROUP BY A.CODIGO_PROVEEDOR) AS NOTA ON NOTA.CODIGO_PROVEEDOR=PROV.CODIGO_PROVEEDOR
  LEFT JOIN(SELECT B.CODIGO_PROVEEDOR,COALESCE(SUM(C.VALOR_ABONADO),0) AS TTABONO
              FROM CONTROL_DE_ABONOS A, FACTURA_DE_COMPRAS B,DET_CONTROL_ABONO_FACTURAS C
             WHERE A.CODIGO_PARTICULAR=B.CODIGO_PROVEEDOR
               AND A.TIPO_OPERACION=2
               AND B.CODIGO_FACTURA_DE_COMPRA=C.CODIGO_DOCUMENTO
               AND C.TIPO_DOCUMENTO=2
               AND B.FACTURA_CANCELADA='N'
               AND B.ANULADA='N'
             GROUP BY B.CODIGO_PROVEEDOR) AS ABONO ON ABONO.CODIGO_PROVEEDOR=PROV.CODIGO_PROVEEDOR
ORDER BY VAL.VALOR_COMPRA DES

Los Campos resultantes de esa consulta son:

FECHA_DEUDA,RUT_PROVEEDOR,DV_PROVEEDOR,DESCRIPCION,VALOR_COMPRA,TTNOTA,TTABONO,VALOR_DEUDA

Entonces lo que nesecito es que me entregue una columna en la que sume
las deudas ( el campo Valor_Deuda ), acumuladas en cada registro..

FECHA_DEUDA,RUT_PROVEEDOR,DV_PROVEEDOR,DESCRIPCION,VALOR_COMPRA,TTNOTA,TTABONO,VALOR_DEUDA,SUMA


Por ejemplo

1- Deuda | Suma
500 500
1000 1500
2000 3500

Muchas gracias por su ayuda...


Responder Con Cita