表格结构
表结构简介
我们有2个表重量和 Weight_Sub ,它们都是相同的。我们的用户每2天称重一次,每个团队都有一名队长。因此,在每个称重团队队长根据 Weight_Sub 表中的日期添加权重后,我们在权重表中添加权重 0 。一旦团队成员接受该分数,我们将从 Weight_Sub 中删除它们,并更新主表中的分数,即权重。例如:如果2015年1月1日的球员体重为98KG,我们将在 Weight_Sub = 98并且体重 = 0时添加记录。一旦球员接受那个重量然后我们将从 Weight_Sub 表中删除该行,并将重量表中的权重从0更新为98.
我希望这是有道理的。
问题 我们想要在玩家接受他错过任何称重的分数时进行检查。如上表中03/03/2015两张表所示,重量为0,0表示玩家错过了称重。我们希望得到那些错过的称重日期。事情是我们只想要在接受最后一次重量后错过称重日期,在本例中为2015年3月3日。
因此,如果您看到上面的图像,则球员在03/03/2015错过称重,但在2015年3月7日,他接受了100KG的重量。之后,他错过了连续3次称重,然后在15/03/2015接受了。因此查询应返回3个日期,即09/03 / 2015,11 / 03 / 2015,13 / 03/2015。
我知道可以通过运行循环使用PHP来完成,当我找到被记录的分数并获得错过称量的日期时可以使用PHP,但是如果有的话我会寻找更高效的东西。< / p>
提前感谢您的时间和精力。
答案 0 :(得分:0)
此查询将在给定日期之前返回错过的记录。
select w1.ID, w1.Date, w1.Weight
from `WeightTable` w1
where w1.Date < '07/03/2015' and w1.Weight = 0