SQL如何运用递归查找有向无环图的节点依赖呢?
问题是这样的
例如我有以上的两个图,节点b
的前置节点是a
,节点c
的前置节点是b
和d
,以此类推。给出一个节点,需要找出以此节点为前置节点的所有链条节点。比如给出a
,那出来的结果就是a,b,c,d,e
,给出f
,那出来的结果就是f,g,h,i,j,k
。
数据准备
创建表以及插入数据,多个前置节点用,
隔开,注意,使用的是PostgreSQL数据库。
-- ----------------------------
-- Table structure for mytest
-- ----------------------------
DROP TABLE IF EXISTS "public"."mytest";
CREATE TABLE "public"."mytest" (
"node" varchar(256) COLLATE "default",
"pre_nodes" varchar(10240) COLLATE "default"
);
-- ----------------------------
-- Records of mytest
-- ----------------------------
INSERT INTO