1

我在表中有以下数据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 查询中获得所需的结果?我假设将使用程序查询,但我不知道该怎么做。

4

1 回答 1

2

试试这个查询

它的工作原理是假设 parent 的 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 |

注意最好的方法是使用存储过程..

于 2013-09-19T12:35:04.233 回答