リンクされたリストを自己参照データベース テーブルとして実装しました。
CREATE TABLE LinkedList(
Id bigint NOT NULL,
ParentId bigint NULL,
SomeData nvarchar(50) NOT NULL)
ここで、Id は主キーで、ParentId はリストの前のノードの ID です。最初のノードには、ParentId = NULL があります。
ここで、テーブルから SELECT を実行し、リストのノードとして表示される順序で行を並べ替えます。
例: テーブルに行が含まれている場合
Id ParentId SomeData
24971 NULL 0
38324 24971 1
60088 60089 3
60089 38324 2
61039 61497 5
61497 60088 4
109397 109831 7
109831 61039 6
次に、基準を使用して並べ替えると、次のようになります。
Id ParentId SomeData
24971 NULL 0
38324 24971 1
60089 38324 2
60088 60089 3
61497 60088 4
61039 61497 5
109831 61039 6
109397 109831 7
コントロールとしてSomeData列を使用することになっているので、 ORDER by SomeData をごまかさないでください :-)