【发布时间】:2023-04-10 18:55:01
【问题描述】:
我有一个格式如下的表格
TaskID ParentTaskID
1 1
2 1
3 2
4 2
5 2
10 10
11 11
12 11
13 0
14 14
如果taskid为1,我想要如下结果
TaskID
1
2
3
4
5
如果是 2 则
Taskid
2
3
4
5
如果是 10 则为 10
表示我想选择 taskid = 1 的行和 parenttaskid = 1 的行 在上面的选择中具有 parenttaskid 的行等等......
【问题讨论】:
-
select t2.id,t2.parenttaskid from tbl_taskmaster t1 Inner join tbl_taskmaster t2 on t1.id=t2.parenttaskid where t1.parenttaskid=1
-
用评论中的内容更新您的问题。
-
您需要的答案是 sql 语句,还是存储过程可以满足您的需求?是否有关于可以找到的最大递归级别数的安全假设?
-
MySQL 不支持递归选择是一个简短的回答。但是您应该能够使用子查询获得所需的内容,请查看此帖子stackoverflow.com/questions/16513418/…
-
@RobP 我需要 sql 语句。没有任何最大限制