这是我的表结构...
表:position_hierarchy_level
id parent_position_id position_id
1 1 2
2 2 3
3 3 4
4 4 5
5 5 6
6 6 7
7 7 8
8 8 9
9 9 10
10 10 11
11 11 12
12 12 13
13 13 14
14 14 15
我获取某个 position_id
的 parent_position_id
的查询是:
select `parent_position_id` from `position_hierarchy_level` where position_id= 15;
但是我怎样才能得到某个position_id
的最顶层父级呢?例如,position_id
15 的最顶层 parent_position_id
将是 1
。
有没有一种方便的方法可以使用单个查询来获取这个值?还是我需要在 PHP 中创建一个循环?
最佳答案
除非有 15 个或更多连接,否则您的数据库结构不会让您这样做。您正在使用邻接表模型。尝试使用 The nested set model
这里是 an example用 PHP
关于php - MySQL - 获取层次结构中的顶级父 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10187088/