有如下数据表

假如我们要查询ID为003的数据的所有子节点我们可以使用CTE 递归查询完成...

  1. if OBJECT_ID('tb','N') is not null
  2. drop table tb;
  3. create table tb(id varchar(3) , pid varchar(3) , name varchar(10));
  4. insert into tb values('001' , null , '广东省');
  5. insert into tb values('002' , '001' , '广州市');
  6. insert into tb values('003' , '001' , '深圳市') ;
  7. insert into tb values('004' , '002' , '天河区') ;
  8. insert into tb values('005' , '003' , '罗湖区');
  9. insert into tb values('006' , '003' , '福田区') ;
  10. insert into tb values('007' , '003' , '宝安区') ;
  11. insert into tb values('008' , '007' , '西乡镇') ;
  12. insert into tb values('009' , '007' , '龙华镇');
  13. insert into tb values('010' , '007' , '松岗镇');
  14. select * from tb;
  15. with cte as
  16. (
  17. select a.id,a.name,a.pid from tb a where id='003'
  18. union all
  19. select k.id,k.name,k.pid  from tb k inner join cte c on c.id = k.pid
  20. )select * from cte

查询结果如下:
003 深圳市 001
005 罗湖区 003
006 福田区 003
007 宝安区 003
008 西乡镇 007
009 龙华镇 007
010 松岗镇 007

转自:http://blog.csdn.net/myxx520/article/details/6922682

Sql Server递归查询(转)的更多相关文章

  1. MS SQL Server递归查询

    原文:MS SQL Server递归查询 刚才在论坛上看到网友一个要求.参考如下,Insus.NET分析一下,可以使用MS SQL Server的递归查询,得到结果.准备一张表: 根据网友提供的数据, ...

  2. SQL SERVER递归查询

    SQL SERVER 进行递归查询 有如下数据表

  3. 【Sql Server】SQL SERVER 递归查询

    SQL SERVER 2005之前的版本只能用函数方法实现,SQL SERVER 2005之后新增了CTE功能,可以利用CTE实现递归查询: CTE:公用表达式Common Table Express ...

  4. SQL Server 递归查询上级或下级组织数据(上下级数据通用查询语法)

    查询上级组织数据: WITH OCTE AS ( AS LVL FROM IOV_Users U LEFT JOIN IOV_Organization O ON U.OrgId=O.ID UNION ...

  5. SQL Server CTE 递归查询全解

    在TSQL脚本中,也能实现递归查询,SQL Server提供CTE(Common Table Expression),只需要编写少量的代码,就能实现递归查询,本文详细介绍CTE递归调用的特性和使用示例 ...

  6. SQL Server CTE 递归查询全解 -- 转 学习

    在TSQL脚本中,也能实现递归查询,SQL Server提供CTE(Common Table Expression),只需要编写少量的代码,就能实现递归查询,本文详细介绍CTE递归调用的特性和使用示例 ...

  7. SQL Server CTE 递归查询全解(转载)

    在TSQL脚本中,也能实现递归查询,SQL Server提供CTE(Common Table Expression),只需要编写少量的代码,就能实现递归查询,本文详细介绍CTE递归调用的特性和使用示例 ...

  8. SQL Server ->> 性能调优案例之 -- 包含递归查询的视图导致整个查询语句性能下降

    有个语句最近性能下降很厉害,原本1秒就可以查询完毕的事情现在居然需要3-4分钟. 首先我的做法是先快速找出导致整个语句下降的元凶.在这个例子里面查询语句有3个JOIN字句,我通过删除某一个JOIN节点 ...

  9. Sql Server 2008R2中使用CET进行递归查询

            在使用数据库的过程中,我们经常会遇到递归的查询.比如传入一个分类ID,要查出这个分类下的所有子分类,以及子分类的子分类.或者说传入一个部门ID,要查出这个部门下所有子部门的人员:在Or ...

随机推荐

  1. ios轮播

    // // ViewController.m // Ocproject // // Created by wenzhe yi on 2018/2/28. // Copyright © 2018年 we ...

  2. springboot初学

    首先苦于用ssh.ssm来搭建一个项目,这个基础搭建工作就大概要用半天的功夫才能弄好,想到就头疼,后面听了实验室一位大神的建议,用springboot啊,简单的不止一点点.就顺便学习了下这个神器,果然 ...

  3. [sed]记录

    sed的括号本身没有特殊意义,如果要保留通配内容,需要转义. echo "1) host" |sed  's/1) ([a-z])/$1) $1/' 有两处有问题. 1. 首先是上 ...

  4. bzoj 1142 [POI2009]Tab 最小表示

    [POI2009]Tab Time Limit: 40 Sec  Memory Limit: 162 MBSubmit: 373  Solved: 167[Submit][Status][Discus ...

  5. 安卓弹出键盘隐藏fixed定位相关的元素(obj必须是class)

    //安卓弹出键盘隐藏fixed定位相关的元素(obj必须是class) function displayFixed(obj){ var h = document.body.scrollHeight; ...

  6. SVN服务器更换IP,客户端重新定位

    svn服务器更换ip,后客户端需要重新定位,操作如下: 1.找到你的项目文件所在的根目录,右键点击空白地方,弹出菜单 TortoiseSVN-->Relocate 点击Relocate ,弹出重 ...

  7. 文件字节大小显示成M,G和K

    //字节大小,K,M,G public static final long KB = 1024; public static final long MB = KB * 1024; public sta ...

  8. ionic@2.0 beta版本安装指南

    由于访问npm官方源下载ionic速度缓慢,淘宝提供了npm源,方便国内人士访问. 1.通过config命令 npm config set registry https://registry.npm. ...

  9. Problem L. Visual Cube(杭电多校2018年第三场+模拟)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6330 题目: 题意:给你长宽高,让你画出一个正方体. 思路:模拟即可,湘潭邀请赛热身赛原题,不过比那个 ...

  10. highcharts 从后台动态改变数据

    //columnChart    图表对象,创建示例就展示了. var series = this.columnChart.series;                            whi ...