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

Obtener la ultima fecha, ayuda

Estas en el tema de Obtener la ultima fecha, ayuda en el foro de Mysql en Foros del Web. Hola a todos en el foro. Quisiera molestarlos con lo siguiente, tengo dos tablas, una de clientes y otra de compras. El cuento es que ...
  #1 (permalink)  
Antiguo 06/07/2009, 08:31
 
Fecha de Ingreso: junio-2006
Mensajes: 137
Antigüedad: 17 años, 10 meses
Puntos: 0
Obtener la ultima fecha, ayuda

Hola a todos en el foro.

Quisiera molestarlos con lo siguiente, tengo dos tablas, una de clientes y otra de compras. El cuento es que necesito saber de un cliente cual fue la ultima compra que realizo en un mes, ejemplo junio, y listar los datos de esta compra mas los del cliente.

Para tratar de explicarme mejor les dejo la consulta

Código:
SELECT * , MAX( T.tra_fecha ) AS Ult_Compra
FROM cliente C, transaccion T
WHERE T.cli_rut = C.cli_rut
AND (
T.tra_fecha
BETWEEN '2009-06-01'
AND '2009-06-30'
)
GROUP BY C.cli_rut
Estyo lo que genera es el agrupamiento de las compras del cliente en un mes, pero no la ultima compra del mes, como consulto por el max de la fecha me arroja ese valor y este no coincide con la fecha de la transaccion que devuelve.

Ojala puedan ayudarme.

Gracias de antemano
  #2 (permalink)  
Antiguo 07/07/2009, 10:36
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Obtener la ultima fecha, ayuda

Puesto que agrupas por C.cli_rut y sólo quieres mostrar la fecha más alta y el C.cli_rut, tal vez te valga esto. No lo he probado.

SELECT C.cli_rut, MAX( T.tra_fecha ) AS Ult_Compra
FROM cliente C INNER JOIN transaccion T
ON T.cli_rut = C.cli_rut
WHERE
T.tra_fecha
BETWEEN '2009-06-01'
AND '2009-06-30'
GROUP BY C.cli_rut HAVING C.cli_rut = numeroclientequebuscas

Pero si buscas más datos ponnos los nombres de los campos y te propondremos alguna consulta.
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 22:52.