摘要: 下文通过递归的方式找出最顶级部门的方法分享,如下所示: 实验环境:sql server 2008 R2


下文通过cte-with表达式实现递归,获取一个公司的顶级部门,如下所示 例:部门表

create table [maomao365.com]
(keyId int ,parentId int,
deptName nvarchar(30)) insert into [maomao365.com]
(keyId,parentId,deptName)
values
(1,0,'总经办'),
(2,0,'IT中心'),
(10,1,'销售部'),
(11,1,'售后部'),
(111,11,'售后1'),
(1111,111,'售后1_1'),
(12,1,'市场部'),
(21,2,'运维部'),
(22,2,'开发部') ---例1:获取 售后部keyId=1111所在的顶级部门
;
with testA( [keyId], [parentid],deptName)
as
(
select keyId, parentid,deptName
from [maomao365.com]
where keyId = 1111
union all
select a.keyId, a.parentid,a.deptName
from [maomao365.com] a
inner join testA on a.[keyId] = testA.[parentId] --递归
) select * from testA where parentId=0; go truncate table [maomao365.com]
drop table [maomao365.com]

转自:http://www.maomao365.com/?p=7829

mssql sqlserver with cte表达式(递归)找出最顶值的方法分享的更多相关文章

  1. Java使用递归找出某目录下的所有子目录以及子文件

    /* 使用递归找出某目录("C:\\JavaProducts")下的所有子目录以及子文件 */ import java.util.*; import java.io.*; publ ...

  2. excel 两列 找出相同的值

    excel 有A,B两列数值,要找出A,B两列中数值相同的值. 选中B列,格式——条件格式——公式  输入:=countif(A:A,B1)  在格式中可选择突出字体颜色 该函数的语法规则如下: co ...

  3. 在List中找出最大值的两种方法

    先说需求:找出一个对象List中,某个属性值最大的对象. 1.定义对象 private class A { public int ID { get; set; } public string Name ...

  4. Sql Server 在数据库中所有表所有栏位 找出匹配某个值的脚本(转)

    转自: http://blog.csdn.net/chenghaibing2008/article/details/11891419 (下面代码稍有修改,将要查找的内容直接作为参数传人,并且使用=而不 ...

  5. 用 hash 找出指定一个数, 这个数是数组两个值的总和, 找出两个值的坐标

    var twoSum = function(nums, target) { var len = nums.length; var exist = {} //这里利用了hash来存放已知的 exist[ ...

  6. SQLserver查询数据类型为ntext是空或NULL值的方法

    --为空的值text ntext select * from lf_newsNg_utf where datalength(newsContentE)=0 or datalength(newsCont ...

  7. mssql sqlserver 索引专题

    摘要: 下文将详细讲述sql server 索引的相关知识,如下所示: 实验环境: sql server 2008 R2 sqlserver索引简介: mssql sqlsever 索引分类简介 ms ...

  8. 找出Java进程中大量消耗CPU

    原文:https://github.com/oldratlee/useful-shells useful-shells 把平时有用的手动操作做成脚本,这样可以便捷的使用. show-busy-java ...

  9. Leetcode33--->Search in Rotated Sorted Array(在旋转数组中找出给定的target值的位置)

    题目: 给定一个旋转数组,但是你不知道旋转位置,在旋转数组中找出给定target值出现的位置:你可以假设在数组中没有重复值出现 举例: (i.e., 0 1 2 4 5 6 7 might becom ...

随机推荐

  1. C# 跳转新的标签页

    ///这个是拿别人的,找到好多这个方法,溜了,不知道谁是原创 protected void btnPrint_Click(object sender, EventArgs e)        {    ...

  2. SpaceSyntax【空间句法】之DepthMapX学习:唠叨(目录)

    最近花大力气学习了空间句法这一理论,以及其相关软件DepthMapX. 我觉得吧,你要是能搜索到这理论,这一软件名,这篇博客,那我甚至都不用介绍这软件是干什么用的——好吧,还是会说一下的. 虽然不知道 ...

  3. postgreSQL 玩转josnb (长期更新)

    json和jsonb的操作符 jsonb额外操作符 json创建函数 json处理函数 函数 返回类型 描述 示例 结果 json_array_length(json) jsonb_array_len ...

  4. 需求分析&用例编写

    一.需求分析? 1.什么是需求 软件产品必须完成的是以及必须具备的品质. 功能性需求:产品必须完成的那些事,要求一定的功能和品质. 例子:淘宝的用户名登录. 非功能性需求:产品必须具备的属性和品质.诸 ...

  5. (转)ceph 常用 运维命令--查看信息 - 不错的文档

    下面是测试验证环节 1. 创建一个 pool rbd create foo --size 4 --image-format 2 --image-feature layering 2. 挂载和格式化 r ...

  6. 深入理解 new 操作符

    和其他高级语言一样 JavaScript 也有 new 操作符,我们知道 new 可以用来实例化一个类,从而在内存中分配一个实例对象. 但在 JavaScript 中,万物皆对象,为什么还要通过 ne ...

  7. Python300篇电子书免费送

    此电子书集合由猪哥整理,免费发布于微信公众号:裸睡的猪. 此电子书集合将持续更新,获取最新电子书集合请关注微信公众号:裸睡的猪,回复:电子书此电子书集合仅用作个人学习,请勿用于商业获利!!! 获取方式 ...

  8. [.NET跨平台]Jexus独立版本的便利与过程中的一些坑

    本文环境与前言 之前写过一篇相关的文章:在.NET Core之前,实现.Net跨平台之Mono+CentOS+Jexus初体验 当时的部署还是比较繁琐的,而且需要联网下载各种东西..有兴趣的可以看看, ...

  9. 自写脚本实现上线前本地批量压缩混淆 js , css 代码。

    最近做项目遇到一个要求,就是把本地的 js 和 css 进行压缩后再上线,由于之前项目并没有使用 webpack 之类的库,项目上也因为一些机密不能在线上压缩,这无疑给代码打包压缩带来了很大麻烦,于是 ...

  10. (转)学习MySQL优化原理,这一篇就够了!

    原文:https://mp.weixin.qq.com/s__biz=MzI4NTA1MDEwNg==&mid=2650763421&idx=1&sn=2515421f09c1 ...