Resultados dobles de MYSQL SUM

Tengo siguiente SQL pero el SUM devuelve valores inesperados... No sé cómo corregirlo.

SQL:

SELECT 
    SUM(logs.amount*ei_relationships.itemprice) as spend, 
    SUM(log_users.amount) as recharged, 
    logs.cardid, 
    count(log_users.amount) as recharges 
FROM log_users
INNER JOIN logs ON logs.cardid = log_users.cardid
INNER JOIN ei_relationships ON ei_relationships.id = logs.ei_relationship_id
WHERE ei_relationships.event_id = 2 
GROUP BY logs.cardid 
ORDER BY recharged DESC

A ei_relationship tiene muchos registros y también hay muchos log_users. Intenté diferentes cosas pero no puedo resolverlo.

preguntado el 22 de mayo de 12 a las 08:05

¿Por qué estás usando distinct? -

Antes de agrupar, simplemente seleccione todo y asegúrese de obtener los resultados esperados. PD: usando DISTINCT en el 90% de los casos significa que lo estás haciendo mal -

Genial, esta fue una de mis pruebas SQL actualizó la publicación sin el distintivo. ¿Zerkms puede proporcionar un ejemplo? -

¿Podría producir un pequeño ejemplo para cada tabla, el resultado que devuelve su consulta para esos ejemplos y el resultado esperado? Eso simplificaría mucho las cosas. Después de todo, no podemos ver, desde donde estamos, lo que sucede en su computadora. (Bueno, de todos modos no puedo.) Podríamos, por supuesto, simplemente sentarnos y adivinar, pero me parece que ya hemos estado sentados y adivinando lo suficiente. :) -

0 Respuestas

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.