我的问题是我在表中有一行,值,日期和标记为Y或N。
Unique ID Value Date Tag
1 10 1/1/2018 Y
1 5 4/17/2018 N
我需要确保大约90天后的值(带有N标签)的值是原始值的一半或更少(在这种情况下,<= 5)。在之前,之后和之后之间可以有任意数量的行,而我需要距离最接近90天的行,并确保它是带有Y标签的值的一半。如果距离最近90天的文件少于一半,则用Y标记,否则用N标记。
这是我以前从未做过的事情,所以我希望这里的人能为您提供帮助!
P.S。抱歉,格式糟糕!
答案 0 :(得分:0)
您可以通过以下方式获得最接近90天的日期:
select t.*, t2.value as about90dayvalue
from t outer apply
(select top (1) t2.*
from t t2
where t2.uniqueid = t.uniqueid and
t2.tag = 'N' and t2.date < t.date
order by (datediff(day, t2.date, t.date) - 90) ;
我不知道“确定”是什么意思。但这将两个值放在同一行。