Mysql 如何返回';父亲ID';在这个查询中?
我试图返回我的表(MySQL)的父ID,以下是返回:Mysql 如何返回';父亲ID';在这个查询中?,mysql,sqlfiddle,Mysql,Sqlfiddle,我试图返回我的表(MySQL)的父ID,以下是返回: ID NOME PARENT_ID 1 Project (null) 2 Sub 1 3 Sub-Sub 2 4 Sub-Sub-Sub 3 我需要这个: ID NOME PARENT_ID FATHER_ID 1 Project (null) (null) 2 Sub 1 1 3 Su
ID NOME PARENT_ID
1 Project (null)
2 Sub 1
3 Sub-Sub 2
4 Sub-Sub-Sub 3
我需要这个:
ID NOME PARENT_ID FATHER_ID
1 Project (null) (null)
2 Sub 1 1
3 Sub-Sub 2 1
4 Sub-Sub-Sub 3 1
下面是我必须使用的函数():
这基本上是一个复制品。TLDR:你不容易做到。
CREATE FUNCTION getRoot(idSearch INT)
RETURNS INT DETERMINISTIC
BEGIN
SET @idParent = idSearch;
WHILE (@idParent != 0) DO
SET @idFound = @idParent;
SET @idParent = (SELECT id_parent FROM arvore WHERE id = @idParent);
END WHILE;
RETURN @idFound;
END