T-Sql 递归查询(给定节点查所有父节点.所有子节点的方法)   -- 查找所有父节点with tab as( select Type_Id,ParentId,Type_Name from Sys_ParamType_V2_0 where Type_Id=316--子节点 union all select b.Type_Id,b.ParentId,b.Type_Name  from  tab a,--子节点数据集  Sys_ParamType_V2_0 b  --父节点数据集 where a.…
-- 查找所有父节点with tab as( select Type_Id,ParentId,Type_Name from Sys_ParamType_V2_0 where Type_Id=316--子节点 union all select b.Type_Id,b.ParentId,b.Type_Name  from  tab a,--子节点数据集  Sys_ParamType_V2_0 b  --父节点数据集 where a.ParentId=b.Type_Id  --子节点数据集.paren…
背景说明 需求:MySQL树形结构, 根据指定的节点,获取其下属的所有子节点(包含路径上的枝干节点和叶子节点) 枝干节点:如果一个节点下还有子节点,则为枝干节点. 叶子节点:如果一个节点下不再有子节点,则为叶子节点. 问题分析 1.可以使用类似Java这种面向对象的语言,对节点集合进行逻辑处理,获取所有子节点. 2.直接自定义MySQL函数 getChildList,通过一层while循环,实现对指定节点的所有子节点进行查询. 功能实现 1.创建数据表 1)表结构截图如下(此处简单建一张表 t_…
先说一下JS的获取方法,其要比JQUERY的方法麻烦很多,后面以JQUERY的方法作对比. JS的方法会比JQUERY麻烦很多,主要则是因为FF浏览器,FF浏览器会把你的换行也当最DOM元素 <div id="test"> <div></div> <div></div> </div> 原生的JS获取ID为test的元素下的子元素.可以用: var a = docuemnt.getElementById("…
在SQL的树型结构中,很多时候,知道某一节点的值,需要查找该节点的所有子节点(包括多级)的功能,这时就需要用到如下的用户自定义函数. 表结构如下: ID int Dep_Type int Dep_Code varchar(50) Dep_Name varchar(50) Dep_Dian int Dep_FathID int Dep_Opera varchar(50) Dep_Status int Dep_AddTime datetime 用户自定义函数如下: create function f…
--------------------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; 如图:根据"测试组"查找所有父节点 执行结果…
如下一张表test:id name pid----------- ---------- -----------1 电器 NULL2 家电 13 冰箱 24 洗衣机 25 电脑 16 笔记本 57 平板 58 组装机 79 品牌机 7--查询电脑的所有子节点. 可采用标准sql的with实现递归查询: with subRecord(id,name,pid) as ( select id,name,pid from test where id = 5 union all select test.id…
---SQL SERVER 2000 遍历父子关系數據表(二叉树)获得所有子节点 所有父节点及节点层数函数---Geovin Du 涂聚文--建立測試環境Create Table GeovinDu([ID] Int, fatherID Int, [Name] Varchar(10))Insert A Select 1, 0, '中国'Union All Select 2, 1, '广东'Union All Select 3, 1, '北京'Union All Select 4, 2, '深圳特区…
1.既然要谈到sql,数据库表是必须的 2.数据结构     3.获取某个节点的所有子节点     传统的写法(sql2000) 很麻烦,暂且就不写了     来看看CTE的写法 CREATE PROC sp_getTreeById(@TreeId int) AS BEGIN WITH cteTree AS (SELECT * FROM TuziTree WHERE Id = @TreeId --第一个查询作为递归的基点(锚点) UNION ALL SELECT TuziTree.* --第二个…
SQL语法之初级增删改查 1.增 1.1插入单行 INSERT INTO [表名](列名) VALUES(列值) 语法如下: INSERT INTO bsp_Nproductclass(guid,pid,classTooltip) VALUES(newid(),,'牛排') 1.2将现有表数据添加到一个已有表 INSERT INTO [已有的新表](列名) SELECT [原表列名] FROM [原表名] 语法如下: INSERT INTO bsp_NproductclassMapping(cl…