mysql - SQL在同一个表中递归查找父级

标签 mysql sql recursive-query

如何找到我所有项目的 parentId (mySQL)? (可能有无限数量的层次结构......不是最好的设计,但它是我正在使用的)

ID      PARENTID    NAME
9146    NULL        thing1
9147    NULL        thing2
9148    9146        thing3
9149    9148        thing4
9150    NULL        thing5
9151    9149        thing6
9152    9147        thing7

输出应该是:

ID     REAL_PARENTID
9146   NULL (or self 9146)
9147   NULL (or self 9147)
9148   9146
9149   9146
9150   NULL (or self 9150)
9151   9146
9152   9147

最佳答案

我实际上使用 MySQL 存储过程编程编写了树遍历脚本。

我在DBA StackExchange back in Oct 24, 2011中回答过这样的问题.它还包括样本数据。

玩得开心。

关于mysql - SQL在同一个表中递归查找父级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9315737/

相关文章:

sql - 将 CTE 应用于递归查询

Php PDO 没有更新,不知道为什么

PHP: mysql 查询 "WHERE first 3 (or 4,5,6 depending on length of string) characters = ' $string'"

sql - 在数据库或文件系统中处理的同步 INSERT/SELECT 事务或读/写操作

sql - 我们可以将参数传递给 SQL 中的 View 吗?

mysql从感兴趣的节点到根节点的递归查询

mysql - 在 phpmyadmin 中导入无符号列时得到 0.00

php - 2个条件适用的sql更新语句

python - 如何使用 python 使用准备好的语句 "select from xxx where xxx"

sql - MSSQL递归选择所有相关行