Sql 计算学校收到的费用总额

Sql 计算学校收到的费用总额,sql,database,phpmyadmin,Sql,Database,Phpmyadmin,我使用的是phpMYAdmin,我无法计算学校收到的费用总额 触感 Status FeeReceived Yes 100 No 200 注册表 Status School Yes A Yes B No C No C No C No D No E No E No E Yes A Yes

我使用的是phpMYAdmin,我无法计算学校收到的费用总额

触感

Status     FeeReceived
Yes         100
No          200
注册表

Status     School
Yes        A
Yes        B
No         C
No         C
No         C
No         D
No         E
No         E
No         E
Yes        A
Yes        A
Yes        F
Yes        F
Yes        F
Yes        F
No         G
Yes        H
Yes        H
No         I
No         J
No         K
No         L

我只能计算Status=Yes或Status=No的总费用。

如果您想得到Yes的总费用和No的总费用,那么

SELECT Sum(f.FeeReceived) As FeeReceived, r.Status FROM RegTable r JOIN FeeTable f ON f.Status = r.Status GROUP BY r.Status 
如果您希望通过学校的身份获得:

SELECT Sum(f.FeeReceived) As FeeReceived, r.Status, r.School FROM RegTable r JOIN FeeTable f ON f.Status = r.Status GROUP BY r.Status , r.School
按学校分列的总数:

  SELECT Sum(f.FeeReceived) As FeeReceived, r.School FROM RegTable r JOIN FeeTable f ON f.Status = r.Status GROUP BY  r.School

你能更好地解释一下这个场景吗?对于FeeTable,如果此人的状态为Yes,则向其收取100美元的费用。否则,他/她将被收取200美元。RegTable记录一个人的状态和学校。我想计算每所学校收到的总费用。=>$学校300美元A学校100美元B学校600美元C学校200美元D学校。。。。。等等@谢谢你的回答!我的问题可能不清楚,让我解释一下情况。对于FeeTable,如果此人的状态为Yes,则向其收取100美元。否则,他/她将被收取200美元。RegTable记录一个人的状态和学校。我想计算每所学校收到的总费用。=>$学校300美元A学校100美元B学校600美元C学校200美元D学校。。。。。等等@弗雷德再次感谢你的帮助@菲奥娜尝试第三个IVE,你能告诉我“F”和“R”是什么意思吗?谢谢@FredYes,它们只是表名的别名。因此,如果在查询中没有像下面这样对表进行别名
RegTable r
,则将
RegTable.Status
RegTable r
就像给它起了一个昵称,这样你就可以引用它而不必输入全名。如果查询中的字段出现在多个表中,则必须告诉SQL要从哪个表获取数据。总是键入
Tablename.FieldName
是一个好习惯。投票失败的原因是什么?人们真的应该被迫给出一个理由。简单的否决票对任何人都没有好处!