WITH cte AS (
SELECT a.FNUMBER,a.FMATERIALID AS MainId,b.FMATERIALID AS ChileID,CAST(b.FMATERIALID AS VARCHAR(max)) AS lev FROM t_eng_bom a
JOIN dbo.T_ENG_BOMCHILD b ON a.fid =b.FID
WHERE a.fid = '100150'
UNION ALL
SELECT d.FNUMBER,d.MainId,d.ChileID,CAST(lev AS VARCHAR(max))+ CAST(d.ChileID AS VARCHAR(max)) AS lev FROM cte c
JOIN ( SELECT aa.FNUMBER,aa.FMATERIALID AS MainId,bbb.FMATERIALID AS ChileID FROM t_eng_bom aa
JOIN dbo.T_ENG_BOMCHILD bbb ON aa.fid =bbb.FID )d ON c.ChileID = d.MainId
)
SELECT * FROM cte ORDER BY lev

WITH cte as(

select a,b,c from tablea

union all

select a,b,c from cte a

join tablea b on a.a = b.b

)

select * from cte

语法:

[WITH[,n]]
  ::=
  expression_name[(column_name[,n])]
  AS(
  CTE_query_definition1 -- 定位点成员(也就是初始值或第一个结果集)
  unionall
  CTE_query_definition2 -- 递归成员
  )

最后传送门:http://blog.csdn.net/bin_520_yan/article/details/5998349#reply

Sql Server CTE递归的更多相关文章

  1. sql server CTE递归使用测试

    --CTE递归查询 if(object_id(N'menu') > 0) drop table menu CREATE TABLE MENU ( name nvarchar(50) NOT NU ...

  2. 在SQL Server 实现递归

    --在SQL Server 中其实提供了CTE[公共表表达式]来实现递归: Declare @Id Int Set @Id = 24;    ---在此修改父节点 With RootNodeCTE(I ...

  3. SQL Server CTE 递归查询全解

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

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

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

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

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

  6. 学习笔记——SQL SERVER的递归

    SQL SERVER似乎天然具有支持递归的属性. 1.比如说,有几次,我编写或修改存储过程的时候,为图方便,在末尾随手写上 执行这个存储过程 的语句,比如 [sql] view plaincopy A ...

  7. SQL Server利用递归把所有【子部门员工】汇总到【一级根节点部门】

    前言 说起这个需求,有点反常规,左边是组织机构树,右边是组织机构对应的员工列表.点击左侧组织机构时传一个组织机构ID,然后查询该组织机构以及其所属的一级节点,如果有部门直属单击节点组织机构,则挂出来员 ...

  8. SQL笔记 - CTE递归实例:显示部门全称

    昨天在整理JS的Function时,示例是一个递归函数.说起递归,想起前段时间在搞CTE,那个纠结呀,看似容易,可我总抓不住门道,什么递归条件,什么结束条件,一头雾水...今天一大早就爬起来,果然不负 ...

  9. SQL SERVER 2008递归

    tab1 表结构: create tab1 ( id int primary key identity(1,1), parentid int not null, name varchar(25) ) ...

随机推荐

  1. 凯尔卡C68全球版汽车电脑诊断仪

    产品简介: C68汽车故障诊断仪是凯尔卡公司新推出的一款集经济.简约.稳定.耐用于一体的汽车诊断设备, 该产品采用了最新的智能移植技术,集成度高:C68车型覆盖广,测试功能强大.数据准确等优点, 是目 ...

  2. 关于Javascript的内存泄漏问题的整理稿

    写了好长时间javascript小功能模块,从来没有关注过内存泄漏问题.记得以前写C++程序的时候,内存泄漏是个严重的问题,我想是时候关注一下了.网上找了篇文章,Mark一下.原文地址:http:// ...

  3. HDU 5573 Binary Tree 构造

    Binary Tree 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5573 Description The Old Frog King lives ...

  4. [Jobdu] 题目1527:首尾相连数组的最大子数组和

    题目描述: 给定一个由N个整数元素组成的数组arr,数组中有正数也有负数,这个数组不是一般的数组,其首尾是相连的.数组中一个或多个连续元素可以组成一个子数组,其中存在这样的子数组arr[i],…arr ...

  5. 007_尚学堂_高明鑫_android 之项目的打包apk与apk的反编译

    http://www.tudou.com/programs/view/kMQlxff8evM/

  6. Android 百度地图定位(手动+自动) 安卓开发教程

    近由于项目需要,研究了下百度地图定位,他们提供的实例基本都是用监听器实现自动定位的.我想实现一种效果:当用户进入UI时,不定位,用户需要定位的时候,自己手动点击按钮,再去定位当前位置.  经过2天研究 ...

  7. innodb 变量

    http://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html

  8. 基于HTML5实现的中国象棋游戏

    棋类游戏在桌面游戏中已经非常成熟,中国象棋的版本也非常多.今天这款基于HTML5技术的中国象棋游戏非常有特色,我们不仅可以选择中国象棋的游戏难度,而且可以切换棋盘的样式.程序写累了,喝上一杯咖啡,和电 ...

  9. OpenResty(nginx扩展)实现防cc攻击

    OpenResty(nginx扩展)实现防cc攻击 导读 OpenResty 通过汇聚各种设计精良的 Nginx 模块(主要由 OpenResty 团队自主开发),从而将 Nginx 有效地变成一个强 ...

  10. C++与正态分布

    正态分布(Normal distribution)又名高斯分布(Gaussiandistribution).若随机变量X服从一个数学期望为μ.方差为σ^2的高斯分布,记为N(μ,σ^2).其概率密度函 ...