如何在mysql中使用存储过程获取父子层次结构

时间:2014-08-22 09:22:11

标签: mysql sql sql-server stored-procedures

我是存储过程的新手,并希望将其用于类别子类别层次结构。我将数据存储在具有列parent_category的单个表中,以区分父或子或子。由于大数据我想使用存储过程但我没有得到如何使用存储过程。我尝试使用加入但无济于事。 我希望数据显示如下。 亲 - 儿童 ----子孙等。

欢迎任何帮助/建议。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

试试这个:

在父值中 NULL 时:

SELECT *
FROM <table_name>
ORDER BY COALESCE(<parent_id>,<id>), <id>), category_parent_id IS NOT NULL

在父级值中 ZERO 时:

SELECT *
FROM <table_name>
ORDER BY COALESCE((SELECT NULLIF(<parent_id>,0)), <id>), NULLIF(<parent_id>,0) IS NOT NULL

希望这可以帮到你!