【问题标题】:Mysql: Get all the linked rows in a tableMysql:获取表中所有链接的行
【发布时间】:2011-04-05 12:30:31
【问题描述】:

我有一个表结构

有点像

id  |   title | next 
1   |  test   | 5
2   |  test   | 0
3   |  test   | 0
4   |  test   | 0
5   |  test   | 3

现在,如您所见,1 指向下一个项目 5,5 指向下一个项目 3,3 表示结束

我需要一个查询,从中我可以在一列中连续获得 1、5、3 以及它们的标题

喜欢

result | title
--------------
1      |  test
5      |  test
3      |  test
--------

请帮忙。我什至不知道如何开始这样的查询。

【问题讨论】:

    标签: mysql linked-list hierarchical-data


    【解决方案1】:

    【讨论】:

    • 我看到了你的链接,但我迷路了。就我而言,我不知道如何实现它。可能只是一个小例子。
    【解决方案2】:

    你想要在这里做的是加入表本身。

    SELECT * FROM `table` AS `child` 
    JOIN `table` AS `parent` 
    ON `parent`.`next` = `child`.`id`
    

    您需要为表的两个副本指定其自己的别名(此处为父项和子项),否则您将遇到唯一性问题。

    【讨论】:

      【解决方案3】:

      一种方法是创建一个重复简单查询的循环。 我可以在这里发布一个例子。你在用 PHP 吗?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多