【发布时间】:2022-01-24 05:53:09
【问题描述】:
我有这张桌子:
| id | name | parent_id |
|---|---|---|
| 1 | mike | 0 |
| 2 | jeff | 0 |
| 3 | bill | 2 |
| 4 | sara | 1 |
| 5 | sam | 4 |
| 6 | shai | 5 |
我想通过发送 id 或 parent_id 找到第一个父母姓名,id :
例如:
如果我发送 6 id(shai) 我想显示名字是 mike(id:1) 的第一个父级,但我的查询只显示前一个父级,当我发送 6 作为 id 时它只显示 sam(id:5 )。 如何通过 SQL 查询或 PHP 代码找到第一个父项?
这是我的代码:
SELECT child.id, child.name, child.parent_id, parent.name as ParentName FROM test child JOIN test parent ON child.parent_id = parent.id WHERE child.id=6;
【问题讨论】:
-
请在成为会员 5 年后学会格式化您的帖子。
-
使用递归 CTE - dev.mysql.com/doc/refman/8.0/en/…
-
这是 mysql v8,我有 mysql v5.7 @ProGu
-
在 5.7 中 - 创建迭代存储过程。
-
你能用一个例子解释更多或通过例子解决我的问题吗? @Akina
标签: php mysql sql recursive-query