之前的方法可以减少代码量
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):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 reduce(getchildnode{,t}, t.size(), t1)