【问题标题】:Tree traversal SQL query树遍历SQL查询
【发布时间】:2011-09-17 16:46:25
【问题描述】:

任何人,请帮我处理遍历树的 SQL 查询。 我有一个名为users 的表,其中包含idnameparent 列。

请帮我完成一个可以从所需根遍历树的 SQL 查询。

编辑 嗨,我得到了这个似乎已解决的 URL。

Deeply nested subqueries for traversing trees in MySQL

但我不了解 JOIN,那就是我无法用我的表构造查询 :-( :-(

【问题讨论】:

  • 你想从中得到什么?
  • 表结构、表数据和预期输出是什么?到目前为止,您尝试过什么?
  • 您需要了解 JOIN 才能使用 SQL。 JOIN 是 SQL 的基础,就像 foreach 对于 PHP 一样。试试看无畏领袖的A Visual Explanation of SQL Joins

标签: php mysql hierarchical-data


【解决方案1】:

MySQL 不支持递归查询。大多数其他品牌的数据库都支持使用 通用表表达式 语法的递归查询语法(查询以 WITH 开头)。

要解决 MySQL 中的树遍历查询,您需要以不同的方式存储数据,以便可以在一次查询中查询整棵树。有几种解决方案:

  • 路径枚举
  • 嵌套集
  • 闭包表

详情见:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多