Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取mysql子节点的所有子ID_Mysql_Sql - Fatal编程技术网

获取mysql子节点的所有子ID

获取mysql子节点的所有子ID,mysql,sql,Mysql,Sql,我们有一个mysql表 id | parent_id | item 假设我有一个id=4 我需要获取所有parent\u id=4 在我需要所有子项之后,parent\u id在(我得到的id) 然后一次又一次直到6级 你知道如何通过一个查询获得这些信息吗?在请人为你做这项工作之前,你至少应该尝试一下,但类似的方法可能会奏效 SELECT * FROM table t1 INNER JOIN table t2 ON t1.id = t2.parent_id, ... INNER JOIN t

我们有一个
mysql

id | parent_id | item 
假设我有一个
id=4

我需要获取所有
parent\u id=4

在我需要所有子项之后,
parent\u id在(我得到的id)

然后一次又一次直到
6级


你知道如何通过一个查询获得这些信息吗?

在请人为你做这项工作之前,你至少应该尝试一下,但类似的方法可能会奏效

SELECT *
FROM table t1 INNER JOIN table t2 ON t1.id = t2.parent_id, ... INNER JOIN table t6 ON t5.id = t6.parent_id
WHERE t1.id=4

所以你需要递归地(深度为6)从数据中检索数据?是的,但不是从上到下,而是从下…这是从下到上,但我需要从上到下。。如果在IMHOImagine中,你有2个次级级别,他们有2-3个次级级别,5-6个次级级别,每个都有任意数量的次级级别,这应该是很多。我需要得到这些子级别的所有id,我不认为你需要任何“IN”,你只需要加入所有你得到的“id”,如果有多个“id”,它将加入多个值。除非您试图在WHERE子句中加入表格,我认为这不是正确的方法,否则您不能在FROM子句中使用“in”,所以我认为这是从上到下的方法。你从“id=4”开始,然后你加入下一个表,其中“parent_id=4”,然后你加入下一个表,其中“parent_id=(parent_id=4的所有id)”等等…我非常确定这应该会让你得到你根据原始问题寻找的结果…但是我没有这样的DB来测试