Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/06/2006, 11:00
sunco
 
Fecha de Ingreso: noviembre-2005
Mensajes: 10
Antigüedad: 19 años, 5 meses
Puntos: 1
Problemita con group y max

Resulta que tengo una tabla con estos campos (y otros mas) :

keyfacpago, idpago, feccobropago, keycobpago, nomcobpago

En la tabla se guardar los datos de cuando se va a cobrar una factura (feccobropago), cada vez que se genera una orden de pago se le pone un id nuevo (idpago) esto es porque a veces la factura no la pagan y hay que reprogramarla, el problema es que a veces se pone otro cobrador, osea no el mismo que fue su primera vez (tampoco puedo sobreescribir el anterior programacion de pago ya que lo ocupo para reportes)

Lo que ocupo es leer la ultima fecha de cobro (feccobropago) y sus demas datos. El siguiente select me funciona por los MAX pero no puedo usar MAX, si acaso 1 solo para sacar el MAX(idpago) pero al solo usarlo 1 vez no me saca el feccobropago que le pertenece, eso se soluciona sacandolo con MAX pero no lo puedo usar ya que no me sirve porque ocupo tambien sacar el nombre del cobrador que le pertenece y pues a ese no le puedo poner MAX, osea no me saca el cobrador que le pertenece al MAX(idpago)

select keyfacpago, max(idpago), idpago, max(feccobropago), feccobropago, keycobpago, nomcobpago
from programacion_pago
group by keyfacpago
order by idpago

Viendo los resultados del select y comparandolos con la tabla, el MAX de feccobropago si esta bien, pero el feccobropago no es el correcto, es de otro idpago

Se que se puede solucionar con sub-queries pero el MySql que manejamos no permite (la version no la soporta). Estuve haciendo varias pruebas con having y otros comandos pero no me sale