MySQL 中两个表的递归语句

Recursive statement in MySQL on two tables

我现在第一次使用 MySQL 数据库,需要创建一个 "tree traversal" 查询。

我有 2 个表:

团队:

--------------------------------
|INT id|VARCHAR name|INT parent|
--------------------------------
 1      Test 1       null
 2      Test 2       1
 3      Test 3       2
 4      Test 4       1
 5      Test 5       null

船员:

--------------------------------
|INT id|VARCHAR name|INT teamId|
--------------------------------

在这个数据库中,每个团队可以有一个child个团队,每个团队可以关联多个船员。

我要创建的是一个查询,我可以在其中输入 Team.id,它将 return 团队成员中的所有 Crew,其中 Team.id是他们团队的祖先(不仅仅是parent,一般祖先)。还有 Team.id 本身的船员。

例如,如果我将 Team.id(在查询中)设置为 2,它将 return "Test 2" 和 "Test 3" 的船员。如果我输入 1,它将 return "Test 1"、"Test 2"、"Test 3" 和 "Test 4" 的工作人员。

我在 Whosebug 上进行了搜索并找到了一些答案,但它们是我对 MySQL.

的经验的概括方式。

提前致谢。

据我所知,递归 select 在 MySql 中实现。可以通过编写递归 MySql 函数来实现。