我在 SQL Server 2008R2 中有一个职位表(定义如下)。
在系统框中有位置。
我需要找到一个盒子,里面还有 X 个空闲位置。但是,X 位置必须是连续的(从左到右,从上到下,即升序的 PositionID)。
构造一个查找具有 X 个空闲位置的框的查询很简单。我现在有确定位置是否连续的问题。
关于基于 TSQL 的解决方案的任何建议?
表定义
` 创建表 [dbo].[位置]( [PositionID] [int] IDENTITY(1,1) 非空, [BoxID] [int] 非空, [pRow] [int] 非空, [pColumn] [int] 非空, [pRowLetter] [char](1) 非空, [pColumnLetter] [char](1) 非空, [SampleID] [int] NULL, [更改原因] [nvarchar](4000) 非空, [LastUserID] [int] 非空, [TTSID] [bigint] 空, 约束 [PK_Position] 主键集群 ( [职位ID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) 在 [主要] 上`
编辑
http://pastebin.com/V8DLiucN - pastebin 链接与 1 个盒子的样本位置(样本数据中的所有位置都是空的)
编辑 2
“空闲”位置是 SampleID = null