获取MySQL分层数据库中单个项目的树

发布于 2024-10-01 17:41:13 字数 354 浏览 1 评论 0原文

我想检索分层数据库中单个节点的路径,其中仅将父节点 ID 存储为引用。有人可以给我一个查询或一些关于如何编写查询的建议(最好是第一个选项 - 我是 MySQL 菜鸟),以便在生成的表中给出最终节点路径中的所有节点标题?

id   name          depth
10   Top level     0
22   Second level  1
34   3rd level     2
43   End node      3

我想使用这些数据来创建“您在这里”列表,例如:

Home >论坛>东西> ...>> 感谢您的帮助

詹姆斯

I want to retrieve the path to a single node in a hierachical database where only the parent node ID is stored as a reference. Could someone give me a query or some advice on how to write a query (ideally the first option - I'm a MySQL noob) so that all the node titles in the end node's path are given in a generated table?

id   name          depth
10   Top level     0
22   Second level  1
34   3rd level     2
43   End node      3

I want to use this data to create on of those "you are here" lists like:

Home > Forums > Stuffs > ... > Topics

Thanks for any help,

James

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

〗斷ホ乔殘χμё〖 2024-10-08 17:41:13

这仅适用于固定数量的级别,因为 SQL 中没有递归。

您可以将数据结构从您拥有的“邻接列表”模型转换为-称为“嵌套集”模型。使用该模型,“查找到顶部的路径”查询是可能的。

This is only possible for a fixed number of levels, as there is no recursion in SQL.

You can convert your data structure from the "adjacency list" model you have to the so-called "nested sets" model. With that model a "find the path to the top" query is possible.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文