Edad de las cuentas por pagar
Hola a todos, disculpen por el titulo del hilo pero no encontré otro. Tengo el siguiente procedimiento almacenado:
El mismo proviene de la unión de dos tablas, Proveedores y Facturas. Que deseo con él. Que me de el importe de las facturas por rango de edades, es decir entre 0 y 30 el Importe total de las que están en ese rango, entre 31 y 60 el importe total de las que están en ese rango y así sucesivamente, para luego utilizar esto en Reporte en delphi 7. Cuando ejecuto este procedimiento almacenado no me sale nada de lo esperado. Mi pregunta es la siguiente como utilizar el campo importe de la tabla factura en la expresión que aparece en la consulta para lograr lo que deseo. Espero me hayan entendido. Muchas gracias. |
Código SQL [-] CREATE PROCEDURE spSaldo AS SELECT Proveedores.IdProveedor, Proveedores.NombreProveedor, DATEDIFF(day, FechaRecepcion, GETDATE()) AS Saldo, CASE WHEN DATEDIFF(day, FechaRecepcion, GETDATE()) > 0 AND DATEDIFF(day, FechaRecepcion, GETDATE()) <= 30 THEN 1 --0 A 30 DIAS WHEN DATEDIFF(day, FechaRecepcion, GETDATE()) >= 31 AND DATEDIFF(day, FechaRecepcion, GETDATE()) < 60 THEN 2 --31 A 60 DIAS WHEN DATEDIFF(day, FechaRecepcion, GETDATE()) >= 61 AND DATEDIFF(day, FechaRecepcion, GETDATE()) < 90 THEN 3 --61 A 90 DIAS WHEN DATEDIFF(day, FechaRecepcion, GETDATE()) >= 91 THEN 4 -- MAS DE 90 ELSE 0 END vida, --POR SI ACASO SUM(Facturas.importe) as SumaImporte -- SUMA DEL IMPORTE FROM Proveedores INNER JOIN Facturas ON Proveedores.IdProveedor=Facturas.IdProveedor WHERE (Aplicada = 0) GROUP BY VIDA GO
esto es lo que creo que seria, agrupado por proveedor y vida de las facturas, si añades campos de las facturas entonces no te agruparia estas ultimas y la suma no seria valida |
Gracias sinalocarlos, pero esto megenera un error en el nombre del campo vida, disculpa mi ignorancia, alo mejor lo estás utilizando a manera de ejemplo, en este preciso ejemplo a que campo te refieres específicamente. Te ereítero las gracias.
|
ups jeje es cierto por confiado no lo modifique directamente aqui y postie sin compilar quearia asi |
Hola sinalocarlos, muchas gracias por tu ayuda. Te cuento que ya resolví el probelma y logré lo que quería de la siguiente forma:
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. |
La franja horaria es GMT +2. Ahora son las 22:46:42. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi