MySQL - 难以与两个表之间的其他数据求和

时间:2013-10-03 22:19:12

标签: mysql sql invision-power-board

我使用Invision Power Board套件进行购买,但它们没有提供获得客户付款总额的方法。所以我试图为这些信息编写一个SQL查询。我对SQL的了解非常有限,所以...我可能采取了错误的方法。

从我收集到的信息来看,我需要的信息在两个表格中,但是它输出的方式对我来说没用,因为它输出每个单独的购买,只有成员的唯一ID(在批量操作和检查中相对无用)

到目前为止,我已经到了这一步......

SELECT member_id, email, name, 
SUM(ibf_nexus_invoices.i_total) as SUM_TOTAL
FROM ibf_members
RIGHT JOIN ibf_nexus_invoices ON ibf_members.member_id = ibf_nexus_invoices.i_member
WHERE ibf_nexus_invoices.I_status = "paid";

这会从成员表和发票表中获取所有内容,并像这样输出..

------------------------------------------------------------
member_id      |    email         | name      | SUM_TOTAL  |
------------------------------------------------------------
    4          | email@domain.com | "Derek"   | 184.22     |
------------------------------------------------------------
乍一看,这看起来像我想要的。但它只返回一个人,而不是会员列表中的所有人。是否有人精通SQL以帮助引导我朝正确的方向发展?

1 个答案:

答案 0 :(得分:1)

您需要添加

GROUP BY member_id

到查询结尾以获得每人一行。否则,像SUM()这样的聚合函数会合并结果中的所有行。