我使用下面的代码来计算我的团队的总分:
我的表格也列在下面。
问题在于除了第一个团队之外,每个团队的分数都被错误地计算出来。图像应根据我的数据库中的信息解释所需的结果。
查询:
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)
图像:
答案 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));