假设我有下表:
UserId AttributeId DateStart
1 3 1/1/2020
1 4 1/9/2020
1 3 2/2/2020
2 3 3/5/2020
2 3 4/1/2020
2 3 5/1/2020
对于每个唯一的userid/attributeid对,假设dateend是该对的下一个datestart的前一天,否则为null(或者是一些默认值,比如将来的疯狂12/31/3000)。
将此操作应用于上表将产生:
UserId AttributeId DateStart DateEnd
1 3 1/1/2020 2/1/2020
1 4 1/9/2020 <null>
1 3 2/2/2020 <null>
2 3 3/5/2020 3/31/2020
2 3 4/1/2020 4/30/2020
2 3 5/1/2020 <null>
在SQLServer2008R2中执行的t-sql将实现这一点?
2条答案
按热度按时间yftpprvb1#
我已更改查询)
请试试这个:
kokeuurv2#
你在描述
lead()
: