获取MySQL分层数据库中单个项目的树
我想检索分层数据库中单个节点的路径,其中仅将父节点 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这仅适用于固定数量的级别,因为 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.