Estimados Amigos..
Con el procedimiento siguiente se obtienen los saldos a la fecha,
especificada por el usuario (@fechafin) ahora lo que quiero hacer es
mostrar los saldos por antiguedad.. Es decir, agrupar las cantidades
pendientes por tiempo de antiguedad.. EjP. Saldos entre 1-30 dias, 30-60
dias, 60-90dias, mas de 90 dias..yo antes hacia eso con una referencia
cruzada.. ahora estoy perdida..
Ejemplo:
Op_id 1-30 30-60 60-90
Carlos Fuentes 0 2000 2500
Agradezco de ante mano su colaboracion...
Puedo decirles que estos grupos de noticias , me han permitido adquirir
mayor conocimiento...
Muchas Gracias.. son de gran ayuda.
SELECT F.Op_id, (F.Fact_Total + ISNULL(CST_MOVIMIENTOS.DEBITO, 0)) -
(ISNULL(CST_MOVIMIENTOS.CREDITO,
0) + ISNULL(CST_MOVIMIENTOS.RECIBO, 0)) AS SALDO,
dbo.Operadores.OP_Nombre, F.Fact_FechaVenc, dbo.Representantes.REP_Nombre,
dbo.Ciudades.CUD_Nombre
FROM dbo.FACTURA F INNER JOIN
dbo.Operadores ON F.Op_id = dbo.Operadores.OP_ID INNER
JOIN
dbo.Representantes ON dbo.Operadores.REP_ID dbo.Representantes.REP_ID INNER JOIN
dbo.Ciudades ON dbo.Operadores.CUD_ID dbo.Ciudades.CUD_ID LEFT OUTER JOIN
(SELECT CST_MOVIMIENTOS.fact_id,
SUM(CST_MOVIMIENTOS.RECIBO) AS RECIBO, SUM(CST_MOVIMIENTOS.CREDITO) AS
CREDITO,
SUM(CST_MOVIMIENTOS.DEBITO) AS DEBITO
FROM CST_MOVIMIENTOS
WHERE CST_MOVIMIENTOS.REC_FECHA <@FECHAFIN
GROUP BY CST_MOVIMIENTOS.FACT_ID)
CST_MOVIMIENTOS ON F.Fact_Id = CST_MOVIMIENTOS.FACT_ID
WHERE (F.Fact_Fecha <= @FECHAFIN) AND ((F.Fact_Total +
ISNULL(CST_MOVIMIENTOS.DEBITO, 0)) - (ISNULL(CST_MOVIMIENTOS.CREDITO, 0)
+ ISNULL(CST_MOVIMIENTOS.RECIBO, 0)) > 0)
Leer las respuestas