Ver Mensaje Individual
  #8  
Antiguo 22-01-2007
efelix efelix is offline
Miembro
 
Registrado: jul 2006
Posts: 84
Reputación: 18
efelix Va por buen camino
Saludos, ContraVeneno muchas gracias a ti y a droguerman por su a yuda, ya resolví el problema de la siguiente forma:
Hola sinalocarlos, muchas gracias por tu ayuda. Te cuento que ya resolví el probelma y logré lo que quería de la siguiente forma:
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()) <= 30 THEN Facturas.Importe ELSE 0 END MENOSDE30dias,
                    CASE
                        WHEN DATEDIFF(day, FechaRecepcion, GETDATE ()) >= 31  AND  DATEDIFF(day, FechaRecepcion, GETDATE()) <= 60 THEN Facturas.Importe  ELSE 0 END ENTRE3060dias,
                    CASE
                        WHEN DATEDIFF(day, FechaRecepcion, GETDATE()) >= 61  AND  DATEDIFF(day, FechaRecepcion, GETDATE()) <= 90 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
Es decir ahora obtengo el importe por cada rango de edad que establecí, que era lo que me faltaba, el problema estaba cuando yo ponía then DATEDIFF(day,FechaRecepcion, GETDATE()) en vez de poner el campo Importe.
Gracias.
Creo que la función iif no se puede utilizar en una vista pues la misma corresponde a Analysis Services, por eso creo que me salía el error en el argumento '>'.
Les reitero las gracias.
Responder Con Cita