我有一个如下所示的目录表:
- ID
- Parent_ID
- 章节
- 显示顺序
因此,每一行都是一个章节标题,但章节中可以有章节,章节中也可以有章节。因此,上表允许我维持这些关系。
如果一个章节没有父章节,即它不是任何其他章节的子章节,则 Parent_ID 为“Null”。如果一个章节确实有父章节,则它的 Parent_ID 设置为父章节的 ID。
由于一个章节内可以有多个子章节,因此这些子章节的顺序通过 Display_Order 列进行管理;1 是第一,等等。
任何人都可以建议一个简洁的 SQL 查询,让我可以选择整个表,并产生执行上述操作的结果吗?本质上,我正在寻找一个反映章节实际层次结构的结果集。ASCII 目录如下!
Chapter
-- Chapter
---- Chapter
---- Chapter
---- Chapter
-- Chapter
---- Chapter
---- Chapter
Chapter
Chapter
等等