我们有三个不同的下表。。。
用户
id,用户名暗语电子邮件
用户俱乐部
id,user_ id,俱乐部名称
销售额
id,club_ id,数量admin_ ees,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;
但它返回第一行的值,所以余额不正确,请帮助解决。
试试这个:
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;