sql—在查询中提取正确的日期以确定特定事件发生的时间时出现问题

csbfibhn  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(220)

附件是一个单位的历史记录表,显示了该单位的事件和日期。我试着写一个查询,当这个单元准备好的时候,它的最新开始日期,状态可以是'空置出租就绪'或者'空置未出租就绪'。
我的问题是,当状态为“就绪”时,可以将其置于“未就绪”状态,并且我希望能够在发生这种情况时提取最新的“就绪”状态日期。在示例1中,起始日期为01/28/19,状态为“空缺-未转出-准备就绪”意味着此人搬出,然后单位在“03/05/19”准备就绪,我可以拉出此查询,没有问题。
但是在例子2中,下一个人在05/18/20搬走了,这个单元在06/08/20准备好了,但是它又回到了“未准备好”的状态,并在07/10/20真正准备好了。我想知道什么时候会发生这种情况,但不知道该怎么做。我希望能够为这个单位拉到所有真正的准备日期。

dxpyg8gm

dxpyg8gm1#

您似乎想要单元的最新状态,并查看它是否与某个值集匹配。您可以通过以下方式完成此操作:

select t.*
from t
where t.startdate = (select max(t2.startdate)
                     from t t2
                     where t2.user = t.user
                    ) and
      t.status in ('Vacant rented ready', 'Vacant unrented ready');

相关问题