sql 2005 递归 查询部门所有子部门 with关键字

原创 2007年10月12日 10:43:00

前些日子要查询查询部门所有子部门


上网搜索了一下,方法有

(1)、sql 2005的数据库欧!!2000不支持的

with SUBdeptName(DEPT_ID,DEPT_NAME)
as
(
 SELECT
 DEPT_ID,
 DEPT_NAME
 FROM dbo.DEPARTMENTInfo
 WHERE DEPT_ID=1
)
 UNION ALL

 SELECT
 DEPT_ID
 ,DEPT_NAME
 FROM dbo.DEPARTMENTInfo
INNER JOIN SUBdeptName
 ON DEPARTMENTInfo.SUPERIOR_DEPT=SUBdeptName.DEPT_ID
)


(2)、测试数据--可直接运行

SELECT * INTO t --载入测试数据
FROM
(
    SELECT 1 AS ID,'food' AS Product,0 AS ParentID UNION ALL
    SELECT 2,'sport',0 UNION ALL
    SELECT 3,'drink',1 UNION ALL
    SELECT 4,'ball',2 UNION ALL
    SELECT 5,'fruit',1 UNION ALL
    SELECT 6,'apple',5 UNION ALL
    SELECT 7,'banana',5 UNION ALL
    SELECT 8,'football',4 UNION ALL
    SELECT 9,'basketball',4 UNION ALL
    SELECT 10,'peisi',3 UNION ALL
    SELECT 11,'wohaha',3
) AS a

SELECT * FROM T
GO
WITH ShowTree(ID,Product,ORDERBY) AS
(
    SELECT ID,Product,ID FROM t WHERE ParentID=0 --固定成员
   
    UNION ALL
    SELECT t.ID,t.Product,ORDERBY*100+t.ID FROM ShowTree AS s
    INNER JOIN t ON s.ID = t.ParentID
)
SELECT * FROM ShowTree ORDER BY CAST(ORDERBY AS VARCHAR(50))--OPTION(MAXRECURSION 1)

DROP TABLE t 

java递归查询公司下所有部门及子部门

业务要求: 查询公司下所有子部门及子部门: 原型: 1.创建公司和部门实体: CompanyVos: package com.suwei.sysMng.vo; import java.io.S...
  • u014079773
  • u014079773
  • 2016年11月25日 19:58
  • 5654

Mybatis之高级映射collection (递归查出树形数据之查询部门及部门下所有人员 单节点)

第一步:创建树形数据Beanpublic class DeptTree { private String id; private String name; private Li...
  • FANTASY522272820
  • FANTASY522272820
  • 2017年04月11日 14:57
  • 2459

SQLServer 递归查询 根据子表查询所有父表

根据子表查询所有父表 WFE_FlowRecord表中 WFE_FRCode为主键,WFE_PFRCode为父表的主键 现在想查询某个子表的所有父表的数据,且父表的标志位为WFE_FRSubFlow...
  • a1017680279
  • a1017680279
  • 2015年10月22日 12:29
  • 363

MySql数据库查询多级部门及其下的所有用户信息

关于多级别菜单栏或者权限系统中部门上下级的树形遍历,oracle中有connect by来实现,  mysql没有这样的便捷途径,所以MySQL遍历数据表是我们经常会遇到的头痛问题,下面通过数据库寒素...
  • Calvex880714
  • Calvex880714
  • 2016年05月09日 12:33
  • 3195

java 递归得到部门树

Java代码   public DepartmentUserTreeNode getTree(String location,String  name) {          List de...
  • csdnxingyuntian
  • csdnxingyuntian
  • 2017年04月26日 21:28
  • 2228

Oracle--多表查询及子查询

多表查询 1、找涉及中的表 2、找表中的关联条件 3、要查询的东西查询出来  ps:n张表,至少要找n-1个关联条件,而且n-1关联条件之间是 and 内连接 查询出雇员的...
  • u012411414
  • u012411414
  • 2015年01月28日 22:08
  • 1749

java递归获取某个父节点下面的所有子节点

1.menu实体类 package recursion; /** * Created by tl on 2016/4/10. */ public class Menu { private...
  • tomcat_2014
  • tomcat_2014
  • 2016年04月10日 17:43
  • 18612

sql语句练习题或面试题

根据下面表的描述,创建DEPT和EMP表,并运行下列SQL,最终完成后面的练习   1、   部门表:DEPT No. 字段名称 类型 ...
  • keenstyle
  • keenstyle
  • 2015年05月10日 23:04
  • 1978

mysql做递归层次查询

下面是sql脚本,想要运行一下 把下边的粘贴复制下来,做一个treenodes.sq直接运行便是。。。  /*  Navicat MySQL Data Transfer    Source Serv...
  • xiaodingdou
  • xiaodingdou
  • 2016年09月28日 10:35
  • 2343

MYSQL数据库(十一)- 子查询、子查询用到的关键字ANY、SAME、ALL

目录子查询简介、成立条件、三种查询方法一、准备数据二、普通方法算出大于平均商品价格的数据第一步:使用普通的方法来查询商品的平均价格。第二步:使用普通的方法来查询商品的平均价格再进行四舍五入。第三部:我...
  • bobo89455100
  • bobo89455100
  • 2017年06月13日 10:09
  • 738
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sql 2005 递归 查询部门所有子部门 with关键字
举报原因:
原因补充:

(最多只允许输入30个字)