-->Title:Generating test data -->Author:wufeng4552 -->Date :2009-09-30 08:52:38 set nocount on if object_id('tb','U')is not null drop table tb go create table tb(ID int, ParentID int) , , , , , , , -->Title:查找指定節點下的子結點 if object_id('Uf_GetChil
--------------------01.向上查找所有父节点-----------------WITH TEMP AS (SELECT * FROM CO_Department WHERE ID=11 --表的IDUNION ALL SELECT T0.* FROM TEMP,CO_Department T0 WHERE TEMP.ParentID=T0.ID --父级ID==子级ID)SELECT * FROM TEMP; 如图:根据"测试组"查找所有父节点 执行结果
SELECT catalogid, foldername, parentid, folderpath FROM public.ic_catalog; --查询同表中的,该节点写的所有子节点 WITH RECURSIVE T(catalogid,foldername,parentid) AS( UNION ALL SELECT T1.catalogid,T1.foldername,T1.parentid FROM ic_catalog T1 JOIN T ON T1.parentid=T.cata
stackoverflow的解决方案,亲测有效: SELECT * FROM person WHERE department IN (SELECT department_id FROM department WHERE department_id = UNION (SELECT department_id FROM (SELECT * FROM department ORDER BY parent_id,department_id) depart_sorted, (SELECT @pv := )