Hola ContraVeneno, voy a aprovechar tu sugerencia, sobre la ayuda que me prometiste en uno de tus correos sobre el tema. El siguiente procedimiento almacenado me devuelve los resulyados que yo deseo:
Código SQL
[-]
CREATE PROCEDURE spAntiguedad
AS
SELECT Proveedores.IdProveedor, Proveedores.NombreProveedor, Facturas.IdFactura, Facturas.Descripcion, Facturas.Importe, Facturas.FechaRecepcion, DATEDIFF(day, FechaRecepcion, GETDATE()) AS Saldo,
CASE
WHEN DATEDIFF(day, FechaRecepcion, GETDATE()) > 0 AND DATEDIFF(day, FechaRecepcion, GETDATE()) < 31 THEN Facturas.Importe ELSE 0 END MENOSDE30dias,
CASE
WHEN DATEDIFF(day, FechaRecepcion, GETDATE ()) > 30 AND DATEDIFF(day, FechaRecepcion, GETDATE()) < 61 THEN Facturas.Importe ELSE 0 END ENTRE3060dias,
CASE
WHEN DATEDIFF(day, FechaRecepcion, GETDATE()) > 60 AND DATEDIFF(day, FechaRecepcion, GETDATE()) < 91 THEN Facturas.Importe ELSE 0 END ENTRE6090dias,
CASE
WHEN DATEDIFF(day, FechaRecepcion, GETDATE()) > 91 THEN Facturas.Importe ELSE 0 END MASDE90dias
FROM Proveedores INNER JOIN Facturas ON Proveedores.IdProveedor=Facturas.IdProveedor
WHERE (Aplicada = 0)
GO
Este procedimiento me devuelve los resultados que yo espero. Ahora voy al delphi y creo un nuevo reporte, agrego los componentes de la paleta ADO:
adoconnection, adostoredprocedure y un datasource. Agrego un qrexpression donde pongo la siguiente expresión: sum(adospantiguedad.Entre3060dias), y así lo hago con cada uno delos campos que me genera el ado stored procedure. Cuando le doy un preview no me pone nada, solo 0 en cada uno de los campos. A que se deberá esto?. Gracias.