sql 递归查询,刁刁的】的更多相关文章

网易新闻的盖楼乐趣多,某一天也想实现诸如网易新闻跟帖盖楼的功能,无奈技术不佳(基础不牢),网上搜索了资料才发现SQL查询方法有一种叫递归查询,整理如下: 一.查询出 id = 1 的所有子结点 with my1 as (select * from table where id = 1 union all select table.* from my1, table where my1.id = table.fatherId) select * from my1 结果包含1这条记录,如果不想包含,…
原文链接地址http://www.cnblogs.com/sweting/archive/2009/06/08/1498483.html 在工作中遇到一个问题,是需要sql递归查询的.不懂,于是到csdn上去问,那里的效率真是非常高,我以前也没在上面问过问题.   问题描述:   我有一个表结构如下:id upperid1     23     24     15     3 具体层次不知道,我想用递归sql语句把所有属于某个upperid的数据,包括它的子树,都读出去,请问应该子怎么写?   …
SQL递归查询(with cte as) with cte as(    select Id,Pid,DeptName,0 as lvl from Department    where Id = 2    union all    select d.Id,d.Pid,d.DeptName,lvl+1 from cte c inner join Department d    on c.Id = d.Pid)select * from cte 1 表结构 Id          Pid     …
with cte as( select IDPlus,SuperiorsIDPlus,RoleGrade,viplevel,NAME,WeixinId from Member where IDPlus = 2999 union all select d.IDPlus,d.SuperiorsIDPlus,d.RoleGrade,d.viplevel,d.NAME,d.WeixinId from cte c inner join Member d on c.SuperiorsIDPlus = d.I…
比如表结构数据如下: Table:Tree ID Name ParentId 1 一级  0 2  二级 1 3  三级 2 4 四级 3 SQL SERVER 2005查询方法: //上查 with tmpTree as ( select * from Tree where Id=2 union all select p.* from tmpTree inner join Tree p on p.Id=tmpTree.ParentId ) select * from tmpTree //下查…
最近工作中遇到了一个问题,需要根据保存的流程数据,构建流程图.数据库中保持的流程数据是树形结构的,表结构及数据如下图: 仔细观察表结构,会发现其树形结构的特点: FFIRSTNODE:标记是否为根节点 FSTABLENAME:标记来源单据名称 FSID:标记来源单据分录ID FTTABLENAME :标记目标单据名称 FTID:标记目标单据分录ID 图中的流程为: 销售合同-->销售订单-->发货通知单-->销售出库单 首先想到的办法就是把流程数据取回来,然后代码构造流程图. 第一个思路…
sql Bom 递归查询: with t as(select * from Department where id=6union allselect a.* from Department a,t where a.ParentId=t.id)select * from t…
系统用到的组织机构树,要实现对当前节点以及其子节点的查询,数据库SQL要用到递归查询,这也是我第一次接触SQL的递归查询. 先说一下什么是递归查询,简单说来是将一个树状结构存储在一张表里,比如一个表中存在两个字段:code,parent_code,那么通过表示每一条记录的parent是谁,就可以形成一个树状结构,用上述语法的查询可以取得这棵树的所有记录,其中: 条件1 是根结点的限定语句,当然可以放宽限定条件,以取得多个根结点,实际就是多棵树. 条件2 是连接条件,其中用PRIOR表示上一条记录…
今天用到了sql的递归查询.递归查询是CTE语句with xx as(....)实现的. 假如表Category数据如下. 我们想查找机枪这个子分类极其层次关系(通过子节点,查询所有层级节点).以下是查询语句 WITH tt AS ( SELECT CategoryId,Name,Parent,0 level FROM dbo.Category WHERE CategoryId=15 --定位点成员 UNION ALL SELECT c.CategoryId,c.Name,c.Parent,tt…
1.easyUI 的tree 修改节点: 我需要:切换语言状态,英文下, 修改根节点文本,显示英文. 操作位置:在tree的显示 $('#tree').tree(),onLoadSuccess事件方法中,参数:node,data(详见easyUI文档) 代码:                 var t = $(this);                                      if (data) {                         var troot = t…
with cte as ( select Id,Pid,DeptName,0 as lvl from Department where Id = 2 union all select d.Id,d.Pid,d.DeptName,lvl+1 from cte c inner join Department d on c.Id = d.Pid ) select * from cte 表结构 Id Pid DeptName ----------- ----------- ---------------…
需求 最近在做一个MRP的项目,需要根据生产下达的计划从原始无聊表中分解出成品所需要的原材料和数量. 参考 http://www.cnblogs.com/xqhppt/archive/2011/02/15/1955366.html http://www.cnblogs.com/guoysh1987/archive/2011/12/23/2299379.html 代码实现 SQL数据表结构 CREATE TABLE [dbo].[cProduction]( ,) NOT NULL, [Produc…
递归查询所有子节点 建人员表  hrmresource 主键     姓名   上级ID 层级关系:- 4      - 3           - 2                - 1      - 5 oracle SELECT * FROM Myhrmresource             START WITH  id=3              CONNECT BY PRIOR id=managerid 结果:                 sqlserver with res…
--> 生成测试数据表: [tb] IF OBJECT_ID('[Users]') IS NOT NULL     DROP TABLE [Users] GO CREATE TABLE [Users] ([userid] [int],[username] [nvarchar](10),[parentUserId] [int],[parentUserName] [nvarchar](10)) INSERT INTO [Users] SELECT '1','admin','0',NULL UNION…
递归分两种:一种由父项向下级递归,另一种是由子项向上级递归.下面就这两种情况做个简单的处理. 假设有一个表treeview,包含字段 id,parentid,text 分别代表id,上级id,描述字段(这里就不把建表sql写出来了). 一.Sqlserver中的写法 1.由父项递归下级 with c…
--------------------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; 如图:根据"测试组"查找所有父节点 执行结果…
WITH cte AS ( AS lvl FROM Department UNION all FROM cte c inner join Department d ON c.Pid = d.Id ) SELECT * FROM cte…
WITH B (FATHER,SON,ID,ALLINFO) AS (SELECT RTRIM(LTRIM(CHAR(A.ID)))|| CHAR(ROW_NUMBER() OVER(PARTITION BY ID)) AS FATHER, ) AS SON, A.ID, )) FROM T_DETAIL A UNION ALL SELECT C.FATHER,C.SON,C.ID, RTRIM(LTRIM(B.ALLINFO))||','||RTRIM(LTRIM(CHAR(C.INFO)))…
Declare @Id Int Set @Id = 0; ---在此修改父节点 With RootNodeCTE(D_ID,D_FatherID,D_Name,lv) As ( Select D_ID,D_FatherID,D_Name,0 as lv From [LFBMP.LDS].[dbo].[LDS.Dictionary] Where D_FatherID In (@Id) Union All Select [LFBMP.LDS].[dbo].[LDS.Dictionary].D_ID,…
数据库设计中经常碰到父子节点的关系结构,经常需要找到某个节点的根,或者某个节点的所有子节点,一般做法都是在业务层做递归的方式实现,或者数据库存储过程实现.但其实SQLServer提供的CTE可以很好的简化我们的工作,非常方便的实现这一功能. 例子: 1.正向递归,找某个节点下的所有子节点 with t as--如果CTE前面有语句,需要用分号隔断(selectId,ParentId,Name from WMS_Org whereId'union all select r1.Id,r1.Paren…
WITH T(emp_no, name, dept_no, the_level, path,path1,manager_id) AS( SELECT emp_no, name, dept_no ,1 AS the_level ,'\'||name path ,'\'||manager_id path1 ,manager_id FROM BASE_HR_EMP where emp_no='10002241' UNION ALL SELECT e.emp_no, e.name, e.dept_no…
with t as ( select b.* from Base_Department b where ParentId = 'cce4152c-3483-4334-b68d-155da627bca0' union all select a.* from Base_Department a join t b on a.ParentId=b.DepartmentId ) select * from t…
WITH  RECURSIVE  r  AS (SELECT * FROM [表] WHERE id = xxxunion ALLSELECT [表].* FROM [表], r WHERE [表].id = r.parent_id)SELECT * FROM r ORDER BY id; 递归向上查询数据…
1 with cte as 2 ( 3 select a.DepartCode,a.DepartName,a.ParentDepartCode from tbDeparts a where ParentDepartCode='2' 4 union all 5 select k.DepartCode,k.DepartName,k.ParentDepartCode from tbDeparts k inner join cte c 6 on c.DepartCode = k.ParentDepart…
--查询所有表 SELECT NAME,* FROM SYSOBJECTS WHERE XTYPE='U' order by SYSOBJECTS.name --查询所有存储过程 select * from sysobjects where type='P' order by [name] --查询表约束 exec sp_helpconstraint @objname=book_detail --@objname=prx_class go -- 查看内容(存储过程) sp_helptext 'P…
喜欢就点个赞呗! 源码<--请点击此处查看 引入 当我看到一些评论时,例如下面的样子.我挺好奇这个功能是怎么样做出来的.进过查阅资料,发现这其实是 MySQL 的递归操作.下面就让我操作一下怎么实现 MySQL 的递归查询. 设计数据库 观察这种数据库设计,你会发现他都有一个父节点,一直到根节点,所以我们设计数据库的时候,应该设置一个 parentid 字段.所以,我们可以得到以下的数据库. sql 脚本如下 CREATE TABLE digui( id INT(11) NOT null aut…
本人目前还不是游戏行业的圈内人士,并不懂得,游戏行业的生态圈,也不懂得,所谓的什么“中国市场环境”.所以不敢发表关于这方面的见解,不过我在这里想要插一句话,就是我认为啊,行业内,人与人之间还是有分层次的,什么层次的人,看到什么层次的东西,不同层次的人对“市场”的理解肯定不一样,我觉得吧,不要一概而论. 我不是一个职业的GameDesigner,但是我是一个GamePlayer,至于专不专业,就呵呵了.哈哈哈.从FC/小霸王,一直到现在的PS4/XBOX/WiiU,玩过的游戏也算是各式各样都走过一…
原文Xilinx官方文档<ug898-vivado-embedded-design>第三章 一.MicroBlaze处理器设计介绍(略) 二.创建带有MicroBlaze处理器的IP设计 使用Vivado进行MicroBlaze设计和使用ISE有很大的不同.(译者加:所以你要仔细看下面的说明) Vivado IDE使用IP综合设计工具进行嵌入式开发.IP综合工具是一个基于图像界面的工具,能够帮助你构建复杂的IP子系统. Vivado IDE的IP目录中提供了很多现成的IP核,提供使用.你也可以…
SQL兼容性 PostgreSQL 9.5 兼容 SQL:2011 子集 http://www.postgresql.org/docs/9.5/static/features-sql-standard.html MySQL 5.7 兼容 SQL:1999 子集 功能差异 - 高级SQL 递归查询, connect by, 树形查询 PostgreSQL 通过(with 或 tablefunc支持)支持,MySQL 不支持 例子 https://yq.aliyun.com/articles/240…
原文Xilinx官方文档<ug898-vivado-embedded-design>第三章 一.MicroBlaze处理器设计介绍(略) 二.创建带有MicroBlaze处理器的IP设计 使用Vivado进行MicroBlaze设计和使用ISE有很大的不同.(译者加:所以你要仔细看下面的说明) Vivado IDE使用IP综合设计工具进行嵌入式开发.IP综合工具是一个基于图像界面的工具,能够帮助你构建复杂的IP子系统. Vivado IDE的IP目录中提供了很多现成的IP核,提供使用.你也可以…