2014-01-21 66 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