首頁  >  問答  >  主體

java - tree形结构的Nested Set 数据如何转成Adjacency List的

伊谢尔伦伊谢尔伦2714 天前421

全部回覆(1)我來回復

  • 伊谢尔伦

    伊谢尔伦2017-04-18 10:45:08

    之前想簡單了,需要多一層子查詢,修改如下:

    SELECT node.name, parent.id AS pid
    FROM `nested` as node
      LEFT OUTER JOIN `nested` AS parent
        ON parent.`left` = (
          SELECT MAX(parents.`left`)
          FROM nested AS parents
          WHERE node.`left` > parents.`left` AND node.`left` < parents.`right`
        )
    ORDER BY node.id;

    參考我先前翻譯整理的https://segmentfault.com/a/11... 中《取得整棵樹》一節的第二個例子,主要的修改是將(COUNT(parent.name) - 1) AS depth 改成 parent.id 就可以得到類似鄰接表的形態。

    回覆
    0
  • 取消回覆