Ver Mensaje Individual
  #7 (permalink)  
Antiguo 10/11/2013, 06:43
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: conflicto con agrupar columnas con dos fechas distintas

Recapitulemos:
Cita:
pero cuando quiero convertirla en una sola no he podido, pues si coloco la fecha_pago las condiciones de rango y agrupación hacen que las moras salgan en la fecha del pago, y no en la verdadera fecha de la mora que esta guardada en fecha_mora, ya intente pero en verdad gracias por leerlo y si pueden ayudarme muy agradecido
Básicamente lo que sucede es que tienes dos subconsultas incompatibles entre sí. Eso hace bastante complicado poder lograr un reporte consolidado de deudas, pagos y moras.

A mi entender, están bastante próximos, pero habría que tratar de simplificar la cosa, y yo lo haría con uso de IF, mas o menos así:
Código MySQL:
Ver original
  1.     SUM(IF(FECHA_PAGO BETWEEN '2013/11/01' AND '2013/11/05', monto, 0)) total_pagos,
  2.     SUM(IF(FECHA_MORA BETWEEN '2013/11/01' AND '2013/11/05', mora, 0)) total_mora,
  3.     SUM(monto+mora) total
  4. FROM  pagos
  5.     FECHA_PAGO BETWEEN '2013/11/01' AND '2013/11/05'
  6.     OR
  7.     FECHA_MORA BETWEEN '2013/11/01' AND '2013/11/05'
  8. GROUP BY FECHA_PAGO;
una consulta así cumpliria sin problemas con los datos necesarios para crear esto:
Cita:
lo que deseo es que me quede en un rango por ejemplo: del 01-11-2013 al 05-11-2013 el total pagado.

fecha | monto | mora | total
01-11-13 100.00 20.00 120.00
02-11-13 100.00 35.00 135.00
03-11-13 500.00 50.00 550.00
04-11-13 0.00 10.50 10.50
05-11-13 200.00 0.00 200.00
porque en ese ejemplo que diste, la fecha de mora es un problema interno del sistema, y no debe ser representado dentro del reporte.
Digo esto último porque lo que quieres saber en esa síntesis es lo pagado en cada deuda, en referencia a que lo que importa en ese caso es la deuda origen y su mora posible, y no a partir de cuándo se aplico la carga de mora.

Ahora bien, entendamos que en general el modelo de esa tabla no es muy correcto desde la optica de sistemas para administrar pagos y moras, porque hay un error conceptual: Pagos son todos los ingresos de importes abonados por cualquier medio aceptable, y por cualquier concepto. En ese sentido, una MORA, es un concepto de pago, aplicado sobre una DEUDA de cuenta, pero no es importe adeudado en cuenta.
Visto así, la tabla de deudas debería contener fecha de ingreso, importe y fecha de vencimiento.
La tabla de Pagos debería contener, por lo menos, id de la cuenta adeudada, importe abonado, fecha de pago y concepto. Y probablemente yo construiría una tabla de "conceptos de pago", para completar la idea y darle flexibilidad al sistema.

Con un modelo mejor armado, en otras palabras, tu consulta se volvería muchísimo más simple.

Espero que se entienda lo que intento plantear.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)