我想更新2列 Enr
以及 Drop
基于 StartDate
以及 EndDate
对于一套 ID
价值观。
在所附的屏幕截图中,例如 ID = 82
,我们有2行,所以必须比较2行。第一行为结束日期(2013年12月13日),下一行为开始日期(2014年2月17日),以及 if datediff(dy, Startdate, Enddate) > 30
我必须更新这些列 Drop
从第1行到第n行 Enr
从第2行到第y行。
对组中所有匹配的id执行相同的比较。我想迭代每一组id值,比较开始和结束日期,并在此基础上更新err和drop列。
请提供最好的方式写这个查询输入?非常感谢您的帮助。
谢谢,斯维莎
2条答案
按热度按时间brqmpdu11#
尝试使用
CTE
以及OUTER APPLY
组合如下:输出:
注:请确认
StartDate
对于ID125,这在更新前后是不同的。xqnpmsa82#
我希望它能解决你的问题