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

Problema con función Máx e Inner Join

Estas en el tema de Problema con función Máx e Inner Join en el foro de Mysql en Foros del Web. Hola, tengo un problema que me está volviendo loco... El caso es que tengo dos tablas: ps_customer y ps_orders. Necesito saber quien es el cliente ...
  #1 (permalink)  
Antiguo 06/06/2012, 17:26
 
Fecha de Ingreso: junio-2012
Mensajes: 1
Antigüedad: 11 años, 10 meses
Puntos: 0
Pregunta Problema con función Máx e Inner Join

Hola,
tengo un problema que me está volviendo loco... El caso es que tengo dos tablas: ps_customer y ps_orders.

Necesito saber quien es el cliente que ha hecho el pedido más grande.

Los pedidos se guardan en ps_orders y el campo total_paid guarda la cantidad de dinero que un cliente gastó en un pedido determinado.

Mi consulta SQL es la siguiente:

Código:
SELECT firstname, lastname, max(total_paid) FROM ps_customer INNER JOIN ps_orders ON ps_customer.id_customer=ps_orders.id_customer
El resultado que me da de total_paid es bueno, me da el pago más grande que se efectuó en algún pedido. El caso es que el nombre y apellido del usuario no corresponde con este valor máximo. Corresponde con el registro id=1 de ps_orders...

¿Alguien puede ayudarme?
  #2 (permalink)  
Antiguo 06/06/2012, 18:21
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Problema con función Máx e Inner Join

Hay muchas formas de hacerlo:
Código MySQL:
Ver original
  1.     C.firstname,
  2.     C.lastname,
  3.     max(O.total_paid)
  4.     ps_customer C
  5.     INNER JOIN ps_orders O ON C.id_customer = O.id_customer
  6. GROUP BY C.id_customer
O bien:
Código MySQL:
Ver original
  1.     C.firstname,
  2.     C.lastname,
  3.     O.total_paid
  4.     ps_customer C
  5.     INNER JOIN ps_orders O ON C.id_customer = O.id_customer
  6. HAVING O.total_paid = MAX(O.total_paid) ;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: join, select, sql, tabla, campos
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 05:21.