Sql 计算学校收到的费用总额
我使用的是phpMYAdmin,我无法计算学校收到的费用总额 触感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
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
是一个好习惯。投票失败的原因是什么?人们真的应该被迫给出一个理由。简单的否决票对任何人都没有好处!