我知道这是一个常见的“递归查找”类型的问题,并且有很多关于 SO,但我找不到解决我的特定问题的答案。这是我需要使用从客户那里继承的数据来解决的问题。
考虑下表示例(实际数据的简化版本):
ancestor_page_id parent_page_id page_id page_name
---------------- -------------- ------- ---------
NULL 1 3 ROOT A
NULL 3 4 CHILD A
NULL 4 5 SUB CHILD A
NULL 4 6 SUB CHILD B
NULL 5 7 SUB SUB CHILD A
NULL 2 8 ROOT B
NULL 8 9 CHILD B
NULL 9 10 SUB CHILD C
NULL 9 11 SUB CHILD D
NULL 10 12 SUB SUB CHILD B
我如何将其放入表格中:
ancestor_page_id parent_page_id page_id page_name
---------------- -------------- ------- ---------
1 1 3 ROOT A
1 3 4 CHILD A
1 4 5 SUB CHILD A
1 4 6 SUB CHILD B
1 5 7 SUB SUB CHILD A
2 2 8 ROOT B
2 8 9 CHILD B
2 9 10 SUB CHILD C
2 9 11 SUB CHILD D
2 10 12 SUB SUB CHILD B
其中ancestor_page_id
是祖传parent_page_id
值。
我知道parent_page_id
值1
并且2
应该有记录,但它们不存在(没有 FK 约束)。
我希望这是有道理的。请帮忙!