2015-03-25 55 views
0

表结构 enter image description hereSQL查询,其中0,使用2台获得的记录数

表结构简单

我们有2个表重量Weight_Sub,他们都是相同。我们的用户每2天称重一次,每个小组都有一名队长。因此,在每次称重后,队队长根据Weight_Sub表中的日期加上重量,为此我们在中添加记录重量重量表。一旦团队接受我们的分数从Weight_Sub和更新的分数在主表即重量删除它们。例如:如果在2015年1月3日一名球员称98KG我们将在Weight_Sub = 98添加有记录,并在重量 = 0。一旦球员将接受体重然后我们会删除该行Weight_Sub表和更新体重重量表从0到98.

我希望它是有道理的。

问题 我们希望检查玩家是否接受他错过任何称重的比分。就像在上述表格中所示的那样,两个表格中的重量都是0,0,这意味着玩家错过了一次称重。我们希望得到那些错过的称重日期。问题是我们只想要在接受最后一个重量后错过重量的错过日期,在这个例子中是07/03/2015。

所以,如果你看到上面的图片,玩家错过称在对2015年3月3日,但在2015年7月3日,他接受了重量100KG。之后,他连续错过了3次称重,然后在15/03/2015接受。所以查询应该返回3个日期,即2015年3月9日,2015年3月13日,2015年3月13日。

我知道它可以使用PHP通过运行循环,打破做,当我找到accpted得分和获得日期重量机械错过的,但我在寻找的东西,如果有更有效。

在此先感谢您的时间和精力。

+0

不知道我是否理解它...你想得到的日期,当两个重量都是0的? – Dani 2015-03-25 11:20:40

+0

是的,但不是所有的日期,当两个权重都是0.我们需要日期时,两个权重为0,检查从最后接受的重量,即最后一个重量是不是0。所以是你部分得到的权利。 – colourtheweb 2015-03-25 13:40:43

回答

0

该查询将返回给定日期之前的错过的记录。

select w1.ID, w1.Date, w1.Weight 
from `WeightTable` w1 
where w1.Date < '07/03/2015' and w1.Weight = 0