我在表categories
中有以下数据:
id parent_id title
-----------------|-------------------
1 0 |A
2 1 |B
3 2 |C
4 3 |D
5 4 |E
现在我想获得类别ID 4的根类别标题(parent_id 0),这是标题A的类别ID 1。
如何在单个mysql查询中获得所需的结果?我假设将使用程序性查询,但我不知道该怎么做。
答案 0 :(得分:2)
尝试此查询
它假设父级的id小于child,因为记录在实际查询之前作为派生表以降序排序。
select
@parent:=parent_id as prnt, title, id
from
(select @parent:=8 ) a
join
(select * from tbl order by id desc) b
where
@parent=id
| PRNT | TITLE | ID |
|------|-------|----|
| 7 | q | 8 |
| 6 | a | 7 |
| 0 | d | 6 |
注意最好的方法是使用存储过程..