SqlServer 递归查询树】的更多相关文章

递归关于进行树形结构的查询: 一:简单的树形结构代码. -- with一个临时表(括号中是你要查询的列名) with temp(ID,PID,Name,curLevel) as ( --1:初始查询(这里的PID=-1 在我的数据中是最底层的根节点) select ID,PID,Name,1 as level from dbo.T_ACL_OU where Deleted = 0 and PID = -1 union all --2:递归条件 select a.ID,a.PID,a.Name,…
天气预报的程序.程序并不难. 看到这个需求第一个想法就是只要找到合适天气预报接口一切都是小意思,说干就干,立马跟学生沟通价格. ​ ​不过谈报价的过程中,差点没让我一口老血喷键盘上,话说我们程序猿的人工什么时候这么低廉了...oh my god ​ ​50十块,你跟我开什么国际玩笑!!不够意外惊喜还是有的,居然是个妹子嘿嘿,哎呀什么钱不钱的多伤感情. 老哥送你一套代码,小妹妹以后你好好学习,不懂得问老哥,然后顺利的家了微信(妹子很漂亮). ​ 废话不多说开干,这个程序最大的难点就是找一个合适的天…
mysql版本(5.5.6等等)尚未支持循环递归查询,和sqlserver.oracle相比,mysql难于在树状表中层层遍历的子节点.本程序重点参考了下面的资料,写了两个sql存储过程,子节点查询算是照搬了,父节点查询是逆思维弄的. 表结构和表数据就不公示了,查询的表user_role,主键是id,每条记录有parentid字段(对应该记录的父节点,当然,一个父节点自然会有一个以上的子节点嘛) CREATE FUNCTION `getChildList`(rootId INT) RETURNS…
一.SqlServer树查询 1.使用公用表表达式(CTE) 很多人可能想要查询整个树形表关联的内容都会通过循环递归来查...事实上在微软在SQL2005或以上版本就能用别的语法进行查询,下面是示例. --通过子节点查询父节点 With Tree As( Select * From table Where id = 6 -- 要查询的子 id Union All Select table.* From table, Tree Where Tree.parent = table.id ) Sele…
一直没有在意过数据库处理树形数据的重要性,直到有一天朋友问起我关于树形数据查询的问题时才发现根本不会,正好这个时候也要用到递归进行树形数据的查询于是在网上查了一圈,语法总结如下 参考文献:https://msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1&l=ZH-CN&k=k(WITH_TSQL);k(SQL11.SWB.TSQLRESULTS.F1);k(SQL11.SWB.TSQLQUERY.F1);k(MISCELLANEOU…
--递归查询 with cte as ( ' union all select k.id,k.Text, k.name,k.pid from Menu k inner join cte c on c.id = k.pid )select * from cte…
来自互联网 SELECT * FROM a_ParkingLot AWHERE A.REGIONID IN(    SELECT r.ID FROM a_region r    START WITH r.id='CD79FF2A1E5E49A9B1EAD545A0E05D2C'    CONNECT BY PRIOR r.ID=r.parentid)…
需求 查询树结构表(如菜单类型表,文件夹类型表等)中一个数据节点下所有的子节点数据 声明临时表,并写入数据如下 DECLARE @tbl TABLE ( Id INT ,ParentId INT ,Name ) ) INSERT INTO @tbl( Id, Name, ParentId ) VALUES (, '文件夹1', NULL) ,(, '文件夹2', NULL) ,(, ) ,(, ) ,(, ) ,(, ) ,(, ) ,(, ) ,(, ) 查询需求:查询出任一文件夹及其它所包含…
--查询部门及下属部门列表 WITH TEMP --递归 AS (SELECT Id, Code, Name, ParentId FROM [dbo].[AspSysDepartments] --查询当前部门 UNION ALL SELECT B.Id, --查询子部门 B.Code, B.Name, B.ParentId FROM TEMP A INNER JOIN [dbo].[AspSysDepartments] B ON B.ParentId = A.Id) SELECT Id, Cod…
UNION ALL -- 递归成员 SELECT a.* FROM tree a JOIN CTE c ON a.pid = c.id ) SELECT * from CTE   --1.将 CTE 表达式拆分为定位点成员和递归成员. --2.运行定位点成员,创建第一个调用或基准结果集 (T0). --3.运行递归成员,将 Ti 作为输入(这里只有一条记录),将 Ti+1 作为输出. --4.重复步骤 3,直到返回空集. --5.返回结果集.这是对 T0 到 Tn 执行 UNION ALL 的结…