查询订购父/子 - 层次结构

时间:2015-07-03 23:06:58

标签: mysql

我现在有一张桌子:

enter image description here

我想不出一个会产生我需要的'name'列顺序的查询。

我需要它像这样:
ads->work_and_business->search_work->require_work->freelance->transport->cars->trucks->water->air->...

所以,基本上我需要像父母一样 - >所有孩子,下一个父母 - >所有孩子

有人可以帮忙吗?

编辑:表格创建脚本:

CREATE TABLE categories ( 
  id int(11) NOT NULL AUTO_INCREMENT, 
  level int(11) NOT NULL DEFAULT '1', 
  parent_category_id int(11) NOT NULL DEFAULT '1', 
  name varchar(255) DEFAULT NULL, 
  PRIMARY KEY (id), 
  KEY FK_categories_categories (parent_category_id)
 ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8

Edit2:php部分中的其他内容需要级别。在查询部分,它不需要

1 个答案:

答案 0 :(得分:0)

我尝试了您的示例数据,我认为这有效

SELECT distinct(ifnull(c1.name,c.name)) as name 
from categories c 
right JOIN categories c1 ON c.id=c1.parent_category_id 
order by c.parent_category_id;