With as 递归查询
use TEST
create table Provinces
(
pro_Id int primary key identity(,),
pro_Name nvarchar(),
pro_Code nvarchar(),
pro_PId int
)
exec sp_rename 'Provinces', 'Area'
select * from Area
execute sp_rename 'Area.pro_Id','a_Id','Column' insert into Area values('河南省','',)
insert into Area(a_Name,a_Code,a_PId) values('郑州市','',)
insert into Area values('金水区','',)
insert into Area values('北京市','',)
insert into Area(a_Name,a_Code,a_PId) values('朝阳区','',) --若
declare @count int;--; 必须的 --公共表表达式
--:
/*
with
CTE1(id) AS
(
--查询出当前省(父)
SELECT a_Id FROM Area where a_Code='0023'
union all
--显示当前级别以下的所有有关的数据(子)
select Area.a_Id from CTE1 --查找出属于当前省的数据
inner join Area on CTE1.id=Area.a_PId --递归
),
CTE2 as
( --总计
select count(*) as cou from CTE1
)
*/
--: with CTE1
as
(
select a_Id from Area where a_Code=''
union all
select Area.a_Id from CTE1
inner join Area on CTE1.a_Id=Area.a_PId
) --
select * from Area where a_Id in( select * from CTE1)
union
select null,null,'总计', cou from CTE2;
--则
print @count ;
With as 递归查询的更多相关文章
- MSSQLServer中组织或分类表的设计及其递归查询
开篇:项目中用到上下级从属关系的太多太多了,如:组织.分类.行政区域,这里不再一一介绍,遇到这种的如何去进行数据库表的设计及其应用的,个人对往期项目中所涉及到的进行了一些总结. 数据库表设计:表字段一 ...
- CTE 递归查询
使用CTE进行递归查询,能够实现对层次结构的数据的快速访问,非常有用. TSql CTE 递归原理探究 TSql 分层和递归查询 1,CTE的递归结构 递归查询的结构包括两部分:起始点和迭代公式. 使 ...
- 【转载】Oracle递归查询:使用prior实现树操作【本文出自叶德华博客】
本文标题:Oracle递归查询:使用prior实现树操作 本文链接:http://yedward.net/?id=41 本文版权归作者所有,欢迎转载,转载请以文字链接的形式注明文章出处. Oracle ...
- 【2016-11-7】【坚持学习】【Day22】【Oracle 递归查询】
直接在oracle 递归查询语句 select * from groups start with id=:DeptId connect by prior superiorid =id 往下找 sele ...
- mysql 递归查询
1.创建表: DROP TABLE IF EXISTS `t_areainfo`; CREATE TABLE `t_areainfo` ( `id` ) ' AUTO_INCREMENT, `) ', ...
- Start with connect by prior 递归查询
在SELECT命令中使用CONNECT BY和START WITH子句可以查询表中的树型结构关系.其命令格式如下: SELECT * from CONNECT BY {PRIOR列名1=列名2|列名1 ...
- SQL Server 2005中的CTE递归查询得到一棵树
感觉这个CTE递归查询蛮好用的,先举个例子: use City; go create table Tree ( ID int identity(1,1) primary key not null, N ...
- 在oracle中通过connect by prior来实现递归查询!
注明:该文章为引用别人的文章,链接为:http://blog.csdn.net/apicescn/article/details/1510922 ,本人记录下来只是为了方便查看 原文: connect ...
- [z]START WITH CONNECT BY PRIOR子句实现递归查询
[z]http://jingyan.baidu.com/article/5d368d1e182bb93f60c05784.html START WITH CONNECT BY PRIOR这个语法主要用 ...
- sqlserver和oracle的递归查询
1.sqlserver递归查询方式 CTE: if OBJECT_ID('tb','N') is not null drop table tb; create table tb(id va ...
随机推荐
- 设置session失效时间
以X5部署在Tomcat上为例,说明如何设置session失效时间. 可以设置session失效时间的地点有三处,分别是 1.BusinessServer的session设置 \runtime\Bus ...
- 利用js轻松实现页面简繁体转换
使用方法:StranBody(); //转换对象,使用递归,逐层剥到文本 function StranBody(fobj) { if(typeof(fobj)=="object") ...
- 【转】Warning: mysql_connect(): mysqlnd cannot connect to MySQL 4.1+ using the old insecure authenticat
Warning: mysql_connect(): mysqlnd cannot connect to MySQL 4.1+ using the old insecure authenticat 当m ...
- JS面相对象
一.理解对象: //第一种:基于Object对象 var person = new Object(); person.name = 'My Name'; person.age = ; person.g ...
- 低功耗蓝牙4.0BLE编程-nrf51822开发(2)
相关下载:http://download.csdn.net/detail/xgbing/9565708 首先看的示例是心率计一个示例程序:<KEIL path> \ARM\Device\N ...
- NSArry的常见方法
使用数组对象创建的数组功能非常强大,在Java语言或者C语言中定义的数组必须满足数组中的每一个元素必须是同样的类型.而Objective-C语言可以在Array数组中放任意类型的数据,值得注意的是只能 ...
- QObject::deleteLater()并没有将对象立即销毁,而是向主消息循环发送了一个event,下一次主消息循环收到这个event之后才会销毁对象 good
程序编译运行过程很顺利,测试的时候也没发现什么问题.但后来我随手上传了一个1G大小的文件,发现每次文件上传到70%左右的时候程序就崩溃了,小文件就没这个问题.急忙打开任务管理器,这才发现上传文件的时候 ...
- acl 是一个跨平台的网络通信库及服务器编程框架
acl 工程是一个跨平台(支持LINUX,WIN32,Solaris,MacOS,FreeBSD)的网络通信库及服务器编程框架,同时提供更多的实用功能库.通过该库,用户可以非常容易地编写支持多种模式( ...
- 利用 libiconv 实现汉字编码 utf-8 格式 和 gbk格式的相互转换
参考文章:http://jimmee.iteye.com/blog/2174693 关于windows上编译libiconv的库,请参见:http://www.cnblogs.com/tangxin- ...
- imx6 KEY_ROW4 power output high fail
imx6 KEY_ROW4的pin设置成gpio之后,不能够输出高电平.解决方法记录于此. 参考链接: https://lists.yoctoproject.org/pipermail/meta-fr ...