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