sql 递归查询所有的下级
--> 生成测试数据表: [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
ALL
SELECT
'2'
,
'aaaaa'
,
'1'
,
'admin'
UNION
ALL
SELECT
'3'
,
'bbbbb'
,
'2'
,
'aaaaa'
UNION
ALL
SELECT
'4'
,
'ddddd'
,
'3'
,
'bbbbb'
-->SQL查询如下:
;
with
t
as
(
select
*,
level
=1
from
Users
where
[parentUserId]=0
union
all
select
a.*,
level
+1
from
Users a
join
t b
on
a.parentUserId=b.userid
)
select
*
from
t
where
[parentUserId]<>0
/*
userid username parentUserId parentUserName level
----------- ---------- ------------ -------------- -----------
2 aaaaa 1 admin 2
3 bbbbb 2 aaaaa 3
4 ddddd 3 bbbbb 4
(3 行受影响)
*/
sql 递归查询所有的下级的更多相关文章
- SQL递归查询(with as)
SQL递归查询(with cte as) with cte as( select Id,Pid,DeptName,0 as lvl from Department where Id = 2 ...
- SQL递归查询实现跟帖盖楼效果
网易新闻的盖楼乐趣多,某一天也想实现诸如网易新闻跟帖盖楼的功能,无奈技术不佳(基础不牢),网上搜索了资料才发现SQL查询方法有一种叫递归查询,整理如下: 一.查询出 id = 1 的所有子结点 wit ...
- 【转】sql递归查询问题
原文链接地址http://www.cnblogs.com/sweting/archive/2009/06/08/1498483.html 在工作中遇到一个问题,是需要sql递归查询的.不懂,于是到cs ...
- SQL Server 递归查询上级或下级组织数据(上下级数据通用查询语法)
查询上级组织数据: WITH OCTE AS ( AS LVL FROM IOV_Users U LEFT JOIN IOV_Organization O ON U.OrgId=O.ID UNION ...
- 关于SQL递归查询在不同数据库中的实现方法
比如表结构数据如下: Table:Tree ID Name ParentId 1 一级 0 2 二级 1 3 三级 2 4 四级 3 SQL SERVER 2005查询方法: //上查 with ...
- SQL递归查询知多少
最近工作中遇到了一个问题,需要根据保存的流程数据,构建流程图.数据库中保持的流程数据是树形结构的,表结构及数据如下图: 仔细观察表结构,会发现其树形结构的特点: FFIRSTNODE:标记是否为根节点 ...
- sql递归查询语句
sql Bom 递归查询: with t as(select * from Department where id=6union allselect a.* from Department a,t w ...
- SQL递归查询实现组织机构树
系统用到的组织机构树,要实现对当前节点以及其子节点的查询,数据库SQL要用到递归查询,这也是我第一次接触SQL的递归查询. 先说一下什么是递归查询,简单说来是将一个树状结构存储在一张表里,比如一个表中 ...
- SQL 递归查询,意淫CTE递归的执行步骤
今天用到了sql的递归查询.递归查询是CTE语句with xx as(....)实现的. 假如表Category数据如下. 我们想查找机枪这个子分类极其层次关系(通过子节点,查询所有层级节点).以下是 ...
随机推荐
- 日期时间设置 "2018-05-04T16:36:23.6341371+08:00" 格式
using System;using System.Collections.Generic;using System.Globalization;using System.Text; namespac ...
- Java事务管理之JDBC
前言 关于Java中JDBC的一些使用可以参见: Java 中使用JDBC连接数据库例程与注意事项 在使用JDBC的使用, 如何进行事务的管理.直接看一下代码 示例代码 /** * @Title: J ...
- 大数据统计分析平台之三、Kibana安装和使用
kibana安装 1.到官网下载kibana: cd /usr/local/software wget https://artifacts.elastic.co/downloads/kibana/ki ...
- CF293B Distinct Paths题解
CF293B Distinct Paths 题意 给定一个\(n\times m\)的矩形色板,有kk种不同的颜料,有些格子已经填上了某种颜色,现在需要将其他格子也填上颜色,使得从左上角到右下角的任意 ...
- 拉格朗日(Lagrange)插值算法
拉格朗日插值(Lagrange interpolation)是一种多项式插值方法,指插值条件中不出现被插函数导数值,过n+1个样点,满足如下图的插值条件的多项式.也叫做拉格朗日公式. 这里以拉格朗日 ...
- springboot 零xml集成mybatis-plus
工程结构 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&quo ...
- CRLF LF CR
The Carriage Return (CR) character (0x0D, \r) moves the cursor to the beginning of the line without ...
- day1作业二:多级菜单操作(函数实现)
作业二:多级菜单 (1)三级菜单 (2)可以次选择进入各子菜单 (3)所需新知识点:列表.字典 要求:输入back返回上一层,输入quit退出整个程序 本示例的三级菜单是一个yaml文件格式,格式如下 ...
- 基于centos6构建私有gitbook平台
前言: 开源gitbook工具可以让你方便有效的管理自己的文章笔记.发布产品文档等.这里为了学习,基于centos系统构建一个私有的gitbook项目.与公有云gitbook平台相比,这里是简单的展示 ...
- centos6.5/6.3升级安装ImageMagick7.0.1-1
线上论坛和应用程序的验证码功能都是使用的ImageMagick,但是版本比较老(centos yum安装的ImageMagick6.5.9).接到最新漏洞预报,紧急升级! ImageMagick图象处 ...