2014-01-21 67 views
-3

这是我目前正在使用的查询,但我没有得到 的预期输出。如何在Mysql中获取列的唯一标识符和组的唯一标识符?

SELECT u.user_id, u.email, SUM(ca.credits_added) as credits_added, SUM(cs.credits_spent) as credits_spent 
FROM weg_whitehound.users u 
JOIN weg_whitehound.credits_added ca 
ON u.user_id = ca.user_id 
JOIN weg_whitehound.credits_spent cs 
ON u.user_id = cs.user_id 
GROUP BY ca.user_id 

和我的原始数据库here

+0

张贴适当的DDL(和/或sqlfiddle)连同所需的结果集。 – Strawberry

回答

0

你会得到加学分,学分花费为每个用户由于加入的每一个可能的组合。

你可能需要加入子查询: -

SELECT u.user_id, u.email, ca.credits_added, cs.credits_spent 
FROM weg_whitehound.users u 
JOIN (SELECT user_id, SUM(credits_added) as credits_added FROM weg_whitehound.credits_added GROUP BY user_id) ca 
ON u.user_id = ca.user_id 
JOIN (SELECT user_id, SUM(credits_spent) as credits_added FROM weg_whitehound.credits_spent GROUP BY user_id) cs 
ON u.user_id = cs.user_id 
GROUP BY u.user_id, u.email