Ver Mensaje Individual
  #4  
Antiguo 18-01-2007
efelix efelix is offline
Miembro
 
Registrado: jul 2006
Posts: 84
Reputación: 20
efelix Va por buen camino
ContraVeneno muchas gracias por tu ayuda al igual que a droguerman. Esto fue lo que hice fue lo siguiente:
Código SQL [-]
CREATE PROCEDURE spPruebaIIf 

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 DATEDIFF(day, FechaRecepcion, GETDATE()) ELSE 0 END MENOSDE30dias,
                    CASE WHEN DATEDIFF(day, FechaRecepcion, GETDATE()) > 31  AND  DATEDIFF(day, FechaRecepcion, GETDATE()) < 60 THEN DATEDIFF(day, FechaRecepcion, GETDATE()) ELSE 0 END ENTRE3060dias,
                    CASE WHEN DATEDIFF(day, FechaRecepcion, GETDATE()) > 61  AND  DATEDIFF(day, FechaRecepcion, GETDATE()) < 90 THEN DATEDIFF(day, FechaRecepcion, GETDATE()) ELSE 0 END ENTRE6090dias,
                   CASE WHEN DATEDIFF(day, FechaRecepcion, GETDATE()) > 91 THEN DATEDIFF(day, FechaRecepcion, GETDATE()) ELSE 0 END MASDE90dias 
FROM         Proveedores INNER JOIN Facturas ON Proveedores.IdProveedor=Facturas.IdProveedor
WHERE     (Aplicada = 0)
GO
A lo mejor está un poco desorganizado y hay una mejor forma de usar el case. En caso de que así sea por favor les agradecería su colaboración. Muchas Gracias.
Responder Con Cita