可以参考下面的代码,但是需要自己确定迭代次数
t=table(1..7 as nodeID,`a1`a2`a3`a4`a5`a6`a7 as nodeName,0 1 1 2 2 3 3 as parentID)
def getchildnode(t1,t){
return select * from t1 union select t.nodeID,t.nodeName,t1.pathid+"->"+string(t.nodeID) as pathid,t1.pathname+"->"+t.nodeName as pathname from ej(t1,t,`nodeID,`parentID)
}
t1=select nodeID,nodeName,string(nodeID) as pathid,nodeName as pathname from t where parentID=0
g = def (x,a)-> x.size()<a
reduce(getchildnode{,t}, g{,t.size()}, t1)