gpt4 book ai didi

mysql - 使用MySQL查询遍历行来制作递归树

转载 作者:行者123 更新时间:2023-11-30 01:26:58 28 4
gpt4 key购买 nike

我有一个 Material list 表,其设置如下:
项目 - 父级

我显示 Material list 时的最终结果是这样显示的:

item 1  - parent 0    
item 2 - parent 1
item 3 - parent 1

最终结果也可以是多层次的,如下所示:

item 3 - parent 0    
item 4 - parent 3
item 76 - parent 3

而且它可以无限地继续下去:

item 76 - parent 0    
item 46 - parent 76

item 46 - parent 0
item 25 - parent 46

现在,我要么只从数据库中获取 1 级:

SELECT * FROM bom WHERE ParentId = $itemId(简写)

或者从表中提取每一行并使用我的递归函数来排序我需要的行,但这显然效率很低,因为我可能只需要 10 行,但我提取了 10,000 条记录。递归函数的输出将创建一个像这样的树:

item 1
item 2
item 3
item 4
item 76
item 46
item 25

我所知道的是我从第 1 项开始。第 5 项可能有 11 的父项;它们不必按顺序进行。我想获取树中的所有子分支。我怎样才能在mysql中执行这个查询?

最佳答案

早在 2011 年 10 月 24 日,就有人发布了 question in the DBA StackExchange about tree traversal in MySQL 。 SQL for MySQL 不支持。

我在 my answer to that question 中编写了三 (3) 个存储过程(GetParentIDByID、GetAncestry 和 GetFamilyTree) 。希望这些信息可以帮助您构建您正在寻找的内容。

关于mysql - 使用MySQL查询遍历行来制作递归树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17894481/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com