Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

ordenar ultimo pago por cliente

Estas en el tema de ordenar ultimo pago por cliente en el foro de Mysql en Foros del Web. Hola a todos, bueno tengo un problema con una consulta para traer los datos de una tabla "pagos", lo que necesito hacer es traer el ...
  #1 (permalink)  
Antiguo 29/07/2013, 18:19
 
Fecha de Ingreso: septiembre-2012
Mensajes: 25
Antigüedad: 12 años, 2 meses
Puntos: 0
ordenar ultimo pago por cliente

Hola a todos, bueno tengo un problema con una consulta para traer los datos de una tabla "pagos", lo que necesito hacer es traer el ultimo pago de cada cliente, ordenado por fecha descendente.

Hice dos consultas pero una me devuelve todos los registros. que es:

SELECT id, id_cliente, fecha, importe FROM pagos
ORDER BY fecha desc


La segunda me trae 1 registro por usuario pero no el ultimo sino el primero , es decir si el cliente hizo 3 pagos me devuelve el primero.


SELECT id, id_cliente, fecha, importe
FROM pagos
GROUP BY id_cliente
ORDER BY id_pago DESC
  #2 (permalink)  
Antiguo 30/07/2013, 01:43
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 9 meses
Puntos: 574
Respuesta: ordenar ultimo pago por cliente

Divide y venceras

Código MySQL:
Ver original
  1. SELECT id_cliente, max(fecha) mfecha
  2. FROM pagos
  3. GROUP BY id_cliente;

Esto nos da la fecha del ultimo pago de cada cliente.


Luego

Código MySQL:
Ver original
  1. SELECT p.id, p.id_cliente, p.fecha, p.importe
  2. FROM pagos p INNER JOIN
  3. (SELECT id_cliente, max(fecha) mfecha
  4. FROM pagos
  5. GROUP BY id_cliente) sbc
  6. ON p.id_cliente=sbc.id_cliente AND p.fecha=sbc.mfecha;

No conozco tus datos luego no se si puede haber mas de un pago en la misma fecha... si es asi y fecha es de tipo datetime seguirá dando el último pago que se haya registrado... si no es así y fecha es de tipo date ... habria que darle unas vueltas al diseño para saber cual es el ultimo pago...
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 30/07/2013 a las 01:59

Etiquetas: cliente, pago, registro, registros, select, tabla, ultimo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:40.