分数计算不正确

时间:2015-07-07 13:34:49

标签: php mysql mysqli

我使用下面的代码来计算我的团队的总分:

我的表格也列在下面。

问题在于除了第一个团队之外,每个团队的分数都被错误地计算出来。图像应根据我的数据库中的信息解释所需的结果。

查询:

mysqli_query($connection, "UPDATE teams SET totalscore=overall_score+IFNULL((SELECT sum(overall_user_score) FROM users WHERE team_id=id),0)") or die(mysqli_error($connection));

表格:

users(name, team_id, overall_user_score)
teams(id, name, team_score, totalscore)

图像: enter image description here

2 个答案:

答案 0 :(得分:0)

我不确定为什么你将overall_score和totalscore作为两个不同的列,但无论如何:

如果要根据users表中的overall_user_score列对totalalscore列求和,则不需要继续将overall_score(在teams表中)添加到totalscore列。请参阅here作为示例。

同样,我不确定为什么你将overall_score和totalscore都作为两个不同的列。如果我误解了这个问题,请告诉我。

答案 1 :(得分:0)

真是愚蠢地遗漏了t。最后一个id的前面所以查询应该是:

mysqli_query($connection, "UPDATE teams t SET totalscore=overall_score+IFNULL((SELECT sum(overall_user_score) FROM users WHERE team_id=t.id),0)") or die(mysqli_error($connection));