SQL Server使用递归查询数据
2015-05-26 18:27
204 查看
功能描述:有两张表,一张业务部门表A(A表中存某公司的所有业务部门信息),另一张表为用户表B(B表中存某公司所有用户所在的业务部门信息),要求使用SQL语句查询出各个部门的用户数量(注意:统计各业务部门的用户数量时,需要将其下所有子部门的用户统计进去);
表A:
表B:
方法描述:
使用SQL Server的递归方式:
1、先联合两张表查询数据,并将查询出的结果存放在临时表中;
2、使用cte方法从临时表中查询数据;
具体的SQL脚本如下:
表A:
表B:
方法描述:
使用SQL Server的递归方式:
1、先联合两张表查询数据,并将查询出的结果存放在临时表中;
2、使用cte方法从临时表中查询数据;
具体的SQL脚本如下:
select B.用户名, B.业务部门, A.上级部门 into #Table1 from B left join A on B.业务部门名称 = A.主键; with cte as ( select 用户名, 业务部门, 上级部门, from #Table1 c where c.业务部门 = 102 union all select 用户名, 业务部门, 上级部门 from cte d inner join #Table1 e on d.业务部门 = e.上级部门 ) select SUM(用户名) 用户数量 from cte drop table #Table1
相关文章推荐
- 使用ADO操作SQL SERVER 通过'OLE DB 访问 ACCESS 数据库 ,实现数据交换
- Oracle 的数据抽取到SQL Server 2000(在两台不同的PC上,不使用ODBC)
- 使用DTS导入多个文件数据到SQL Server中
- 使用T-SQL导入多个文件数据到SQL Server中
- 进入 ASP.NET 世界 - 第 2 部分:使用 SQL Server 2000 创建数据存储层
- 进入 ASP.NET 世界 - 第 2 部分:使用 SQL Server 2000 创建数据存储层
- Sql Server使用链接服务器远程取数据!
- Sql Server使用链接服务器远程取数据!
- 使用DTS把Excel数据导到SQL Server的几个技巧
- 使用SQL SERVER复制技术,同步两台SQL Server数据
- SQL Server 系统表使用-查询指定数据库中用户表及其列、数据类、长度
- 使用 SQL SERVER 2005 新增功能--- DDL_DATABASE_LEVEL_EVENTS 数据库级的触发器,创建数据库日志表
- 使用 SqlDataSource 控件连接到 SQL Server 数据
- Sql Server使用链接服务器远程取数据
- SQL Server使用存储过程定时同步数据
- (转)sql server中使用convert来取得datetime数据类型样式
- (转)sql server中使用convert来取得datetime数据类型样式
- sql server使用convert来取得datetime日期数据
- sql server中使用convert来取得datetime数据类型样式
- sql server使用convert来取得datetime日期数据