0

我们有以下三个不同的表格...

用户

id,用户名密码邮箱

用户俱乐部

id、user_id、club_name

销售量

id、club_id、金额、admin_fees、dnt

我们希望得到 user_id 的 admin_fees 总和(例如 55),所以我们尝试遵循...

SELECT u.id, count(c.id), SUM(s.admin_fees) as total_admin_fees 
FROM users u
LEFT JOIN user_clubs c ON c.user_id = u.id
LEFT JOIN sales s ON s.club_id = c.id
WHERE u.id = 55
GROUP BY u.id;

但是它的第一行返回值,所以余额不正确,请帮忙解决。

4

1 回答 1

0

尝试这个:

SELECT   g.id, count(g.club_id), SUM(g.admin_fees) AS total_admin_fees 
FROM     (
            SELECT    u.id, c.id AS club_id, s.admin_fees
            FROM      users u
            LEFT JOIN user_clubs c ON c.user_id = u.id
            LEFT JOIN sales s ON s.club_id = c.id
            WHERE     u.id = 55
         ) AS g
GROUP BY g.id;
于 2013-08-27T23:02:44.277 回答