首页 > 解决方案 > 基于开始日期和上一个结束日期设置标志的 SQL 查询

问题描述

我试过搜索这个,但没有什么与我正在寻找的东西真正匹配,所以任何帮助表示赞赏!

在此处输入图像描述

我想要的是有一个表达式或标志,如果TASK ID的前一个关闭日期和当前开始日期之间的天数小于 10,则它应该返回 true 。

例如上表应如下所示

在此处输入图像描述

注意:我只有只读访问权限,因此“更新查询”和“创建新表”查询不适用于我的情况。

标签: sqlsql-query-store

解决方案


在 SQL Server 中,您可以使用lag()

select t.*,
       (case when lag(close_date) over (partition by task_id) < dateadd(day, -10, close_date)
             then 1 else 0
        end) as flag
from t;

推荐阅读