具有WHERE条件的分层MYSQL查询

时间:2015-11-26 13:15:08

标签: mysql hierarchy

注意:我遇到类似问题,但没有条件。

我想让所有报告特定用户ID的用户ID。(直接报告和间接报告

EGS:

如果我输入user_id = 1,我想获得user_ids 2,3,4,5。 即

2报告为1,

3报告为2,

4报告为3,

5报告为4。

enter image description here

我在这里添加SQL Fiddle

注意:首选没有存储过程或功能的解决方案

感谢。

1 个答案:

答案 0 :(得分:1)

对于这些建议,最好使用材料路径(列出所有祖先)方法构建层次结构而不是成对的id-> parentId。因此,您的表格和查询可能如下所示http://sqlfiddle.com/#!2/a202d/2

如果您不限于MySQL数据库,Postgres有一个很好的数据类型和材料路径函数接近http://www.postgresql.org/docs/9.4/static/ltree.html