【发布时间】:2011-04-29 19:10:56
【问题描述】:
假设我有一张桌子
date,personid
1/1/2001 1
1/2/2001 3
1/3/2001 2
1/4/2001 2
1/5/2001 5
1/6/2001 5
1/7/2001 6
我将使用 personid 2 更新 2001 年 1 月 2 日或 2001 年 1 月 5 日,但在我可以更新之前,我必须确保它通过了一条规则,即三天内你不能有一个人连续。 如何在 mssql 存储过程中解决这个问题?
更新:它还需要解决这个布局以及我将在 2001 年 1 月 5 日更新的地方
date,personid
1/1/2001 1
1/2/2001 3
1/3/2001 2
1/4/2001 2
1/5/2001 1
1/6/2001 2
1/7/2001 2
1/8/2001 5
1/9/2001 5
1/10/2001 6
【问题讨论】:
-
请澄清您的问题。您是在寻求有关 T-SQL 部分的帮助或如何编写存储过程吗?除非您另有说明,否则我将假设前者。
-
我不清楚。是只有预先知道的 personid 并且您正在尝试找到可以放置它们的日期,或者是预先知道的可能日期列表并且您需要知道哪个可以接受该 personid,或者您只是在寻找在不违反规则的情况下,您可以(单独)将每个日期更改为所有可能的 personid?
标签: sql sql-server tsql gaps-and-islands