SQL Server 2008R2 に位置テーブルがあります (以下の定義)。
システムボックスにはポジションがあります。
X 個の空きポジションが残っているボックスを見つける必要があります。ただし、X 位置は連続している必要があります (左から右、上から下、つまり、PositionID の昇順)。
X 位置が空いているボックスを検索するクエリを作成するのは簡単です。現在、位置が連続しているかどうかを判断する問題があります。
TSQL ベースのソリューションに関する提案はありますか?
テーブル定義
` CREATE TABLE [dbo].[位置]( [位置ID] [int] IDENTITY(1,1) NOT NULL, [BoxID] [int] NOT NULL, [pRow] [int] NOT NULL、 [pColumn] [int] NOT NULL、 [pRowLetter] [char](1) NOT NULL、 [pColumnLetter] [char](1) NOT NULL、 [サンプル ID] [int] NULL、 [ChangeReason] [nvarchar](4000) NOT NULL, [LastUserID] [int] NOT NULL, [TTSID] [bigint] NULL、 CONSTRAINT [PK_Position] PRIMARY KEY CLUSTERED ( [ポジションID] ASC )WITH (PAD_INDEX = オフ、STATISTICS_NORECOMPUTE = オフ、IGNORE_DUP_KEY = オフ、ALLOW_ROW_LOCKS = オン、ALLOW_PAGE_LOCKS = オン) オン [プライマリ] ) オン [プライマリ]`
編集
http://pastebin.com/V8DLiucN - 1 ボックスのサンプル位置を含むペーストビン リンク (サンプル データではすべての位置が空)
編集 2
「フリー」ポジションは、SampleID = null のポジションです。