【发布时间】:2020-11-19 06:24:11
【问题描述】:
假设我有下表:
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(或某些默认值,如疯狂的未来 - 3000 年 12 月 31 日) .
将此操作应用于上表将产生:
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>
在 SQL Server 2008 R2 中执行的什么 T-SQL 可以完成此任务?
【问题讨论】:
-
您为什么使用不受支持的 SQL Server 版本?
标签: sql tsql sql-server-2008-r2