【问题标题】:Inverse recursively tree menu on mysqlmysql上的反向递归树形菜单
【发布时间】:2014-08-30 04:06:35
【问题描述】:

我的网站中有一个非常简单的递归类别树表

id
name
parent_id

通常人们希望将整棵树从父母那里展示给他们的孩子

在我的情况下,我有孩子的 id,我需要做相反的事情,创建从孩子到父母的树

假设我有以下树:

1 - Computer
 2 - Storage
  5 - HDD
  6 - SSD
 3 - Motherboard
  7 - AMD
  8 - Intel
 4 - Graphics Card  
  9 - Nvidia
  10 - AMD

我有 6 类和 10 类孩子的 ID

6 - SSD
10 - AMD

在一次选择中,我需要检索这些类别 6 和 10 的所有父项,以创建这样的树:

1 - Computer
 2 - Storage
  6 - SSD
 4 - Graphics Card  
  10 - AMD

那么,我该怎么做呢?

【问题讨论】:

    标签: mysql sql tree


    【解决方案1】:

    我认为这可以帮助你:http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/

    如果您知道子级别的最大数量,例如 3,您可以执行以下操作:

    SELECT t1.id, t1.name, t2.id, t2.name, t3.id, t3.name
    FROM table t1
    INNER JOIN table t2
        ON t1.parent_id = t2.id
    INNER JOIN table t3
        ON t2.parent_id = t3.id
    WHERE t1.id IN (6, 10)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-31
      相关资源
      最近更新 更多