--1.以某个值为父点,选择其本身及所有子点,
SELECT t.fid, t.fparentid, t.fname, t.fcode
FROM table_commoncode t
START WITH t.fid = 020202090101 --父点,即以该点为起点,向所有分支查找,包括所有子子孙孙。
CONNECT BY PRIOR t.fid=t.fparentid;
--2.去掉某一些子分支
SELECT t.fid, t.fparentid, t.fname, t.fcode
FROM table_commoncode t
START WITH t.fid = 02020214
CONNECT BY PRIOR t.fid=t.fparentid and ( t.fid not in (0202021402)); --去掉某一些分支
--3.以某个值为父点,只显示它的下级的一层
SELECT t.fid, t.fparentid, t.fname, t.fcode
FROM table_commoncode t
where t.fparentid in ( 020202140117 )--父点,只显示它的下一层,即只显示儿子一层。
START WITH t.fid = 0202 --开始节点只要在父节点的前面就行,不管是爷爷还是太袓,都一样,此处02、0202、02020214...结果都是一样的
CONNECT BY PRIOR t.fid=t.fparentid;
--4.以某个值为父点,去掉它的下级的一层
SELECT t.fid, t.fparentid, t.fname, t.fcode
FROM table_commoncode t
where t.fparentid != 0202021401 --不显示0202021401的子点,但其孙点显示
START WITH t.fid = 02020214
CONNECT BY PRIOR t.fid=t.fparentid
--5.显示路径
SELECT sys_connect_by_path(t.fname,'>') as path, t.fid, t.fparentid, t.fname, t.fcode
FROM table_commoncode t
where t.fid = 020202090101
START WITH t.fid = 020202 --父点
CONNECT BY PRIOR t.fid=t.fparentid;
--6.level 层关键字
SELECT t.fid, t.fparentid,sys_connect_by_path(t.fname,'>') as path,level, t.fname, t.fcode
FROM table_commoncode t
where level=5 --start with起的(包括)第5层,
START WITH t.fid = 020202 --起始为第1层。
CONNECT BY PRIOR t.fid=t.fparentid;
SELECT t.fid, t.fparentid, t.fname, t.fcode
FROM table_commoncode t
START WITH t.fid = 020202090101 --父点,即以该点为起点,向所有分支查找,包括所有子子孙孙。
CONNECT BY PRIOR t.fid=t.fparentid;
--2.去掉某一些子分支
SELECT t.fid, t.fparentid, t.fname, t.fcode
FROM table_commoncode t
START WITH t.fid = 02020214
CONNECT BY PRIOR t.fid=t.fparentid and ( t.fid not in (0202021402)); --去掉某一些分支
--3.以某个值为父点,只显示它的下级的一层
SELECT t.fid, t.fparentid, t.fname, t.fcode
FROM table_commoncode t
where t.fparentid in ( 020202140117 )--父点,只显示它的下一层,即只显示儿子一层。
START WITH t.fid = 0202 --开始节点只要在父节点的前面就行,不管是爷爷还是太袓,都一样,此处02、0202、02020214...结果都是一样的
CONNECT BY PRIOR t.fid=t.fparentid;
--4.以某个值为父点,去掉它的下级的一层
SELECT t.fid, t.fparentid, t.fname, t.fcode
FROM table_commoncode t
where t.fparentid != 0202021401 --不显示0202021401的子点,但其孙点显示
START WITH t.fid = 02020214
CONNECT BY PRIOR t.fid=t.fparentid
--5.显示路径
SELECT sys_connect_by_path(t.fname,'>') as path, t.fid, t.fparentid, t.fname, t.fcode
FROM table_commoncode t
where t.fid = 020202090101
START WITH t.fid = 020202 --父点
CONNECT BY PRIOR t.fid=t.fparentid;
--6.level 层关键字
SELECT t.fid, t.fparentid,sys_connect_by_path(t.fname,'>') as path,level, t.fname, t.fcode
FROM table_commoncode t
where level=5 --start with起的(包括)第5层,
START WITH t.fid = 020202 --起始为第1层。
CONNECT BY PRIOR t.fid=t.fparentid;