SQL 由人员汇总到部门树递归合计总数函数
1、由人员计算出总数,在部门树(tree)按结构汇总(主父绑定)
CREATE function [dbo].[GetEmpDepNum]
(
@ID int
)
RETURNS @Tree Table (ID [int] IDENTITY (, ),PID Int,FID Int,SN Varchar(), Name Varchar(), Num Varchar())
as
begin
declare @MaxNum int,@i int,@f int,@sNnm int
Insert @Tree SELECT c1.pid,c1.fid,c1.sn,c1.Name,(SELECT COUNT(*) FROM dbo.tbEmployee c2 WHERE c2.MID = c1.pid)
AS sNum FROM tbDepList c1 order by FID desc,pid
-- select * from @TreeBcb
SELECT @MaxNum=Count(*) from @Tree
set @i=
while (@i<=@MaxNum)
begin
select @f=fid from @Tree where ID=@i
select @sNnm=SUM(CONVERT(int,num)) from @Tree where FID=(select fid from @Tree where ID=@i )
--print 's ||'+CONVERT(varchar(),@i)+'|'+CONVERT(varchar(), @sNnm)
if @sNnm>
begin
update @Tree set Num =@sNnm from @Tree where PID=@f
end
SET @i=@i+
end
--select * from @TreeBcb order by FID desc,pid
--select PID, FID,CASE Num WHEN THEN Name ELSE Name+' ('+Num+')' END as Name from @TreeBcb order by FID desc,pid Return
end GO
2、调用
select PID, FID,CASE Num WHEN THEN Name ELSE Name+' ('+Num+')' END as Name from dbo.GetEmpDepNum() order by FID ,pid
SQL 由人员汇总到部门树递归合计总数函数的更多相关文章
- sql 树 递归
sql 树 递归 with SubQuery(No,Name,ParentNo) as ( ' union all select A.No,A.Name,A.ParentNo from [Port_D ...
- vba根据部门分别汇总不同部门下的人员不同培训内容的时长总计,多条件求和
Option Explicit Sub yy() Dim d, arr, s$, i&, m&, w$ Set d = CreateObject("Scripting.Dic ...
- jqxtree异步加载部门树
整体思路 A.要想实现异步加载第一次加载的是一级部门 B.加载一级部门,如果有子部门,部门前面带+号,没有子部门,部门前面没有+号(+号也就是点击可以展开) C.在sql中实现如果有子部门默认都加载一 ...
- 改造一下jeecg中的部门树
假装有需求 关于 jeecg 提供的部门树,相信很多小伙伴都已经用过了,今天假装有那么一个需求 "部门树弹窗选择默认展开下级部门",带着这个需求再次去探索一下吧. 一.改造之前的部 ...
- SQL-26 (二次分组)汇总各个部门当前员工的title类型的分配数目,结果给出部门编号dept_no、dept_name、其当前员工所有的title以及该类型title对应的数目count
题目描述 汇总各个部门当前员工的title类型的分配数目,结果给出部门编号dept_no.dept_name.其当前员工所有的title以及该类型title对应的数目countCREATE TABLE ...
- 一个有趣的SQL Server 层级汇总数据问题
看SQL Server大V宋大侠的博客文章,发现了一个有趣的sql server层级汇总数据问题. 具体的问题如下: parent_id emp_id emp_nam ...
- SQL Server2008 程序设计 汇总 GROUP BY,WITH ROLLUP,WITH CUBE,GROUPING SETS(..)
--SQL Server2008 程序设计 汇总 GROUP BY ,WITH ROLLUP WITH CUBE GROUPING SET(..) /*********************** ...
- SQL语句详细汇总
SQL语句详细汇总 | 浏览:3061 | 更新:2013-06-10 19:50 一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 d ...
- SQL字符串操作汇总
SQL字符串操作汇总 --将字符串中从某个字符开始截取一段字符,然后将另外一个字符串插入此处 select stuff('hello,world!',4,4,'****') --返回值hel*** ...
随机推荐
- DBUtiles中的简单使用(QueryRunner和ResultSetHandler的手动实现)
DBUtiles是一个很好的处理JDBC的工具类.(DbUtils is a small set of classes designed to make working with JDBC easie ...
- Asp.net 5 (MVC6) Areas 分区
1. Startup.cs 类的 Configure方法中, 加入Area路由设置代码: //app.UseMvcWithDefaultRoute(); app.UseMvc(routes=> ...
- MySQL使用FEDERATED engine建立代理表
CREATE TABLE `yndzm` ( `city` varchar(40) DEFAULT NULL COMMENT '市(州)', `county` varchar(60) DEFAULT ...
- 【bzoj4401】块的计数(水dfs)
题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4401 假设把树划分为x个节点作一块,那么显然只有当x|n的时候才可能存在划分方案,并且这 ...
- 键盘高级操作技巧【TLCL】
Ctrl-a 移动光标到行首. Ctrl-e 移动光标到行尾. Ctrl-f 光标前移一个字符:和右箭头作用一样. Ctrl-b 光标后移一个字符:和左箭头作用一样. ...
- Flume之核心架构深入解析
我们一起来了解Source.Channel和Sink的全链路过程. 一.Flume架构分析 这个图中核心的组件是: Source,ChannelProcessor,Channel,Sink.他们的关系 ...
- tiff/tfw, jpg/jpgw坐标文件的格式(6个参数)
tiff/tfw, jpg/jpgw坐标文件的格式(6个参数) 0.100-0.13999904400510 以上每行对应的含义: 1 地图单元中的一个象素在X方向上的X分辨率尺度. 2 平移量. 3 ...
- css页面缩放
如果原来的宽度是1200, 缩放之后宽度可能就变成了1560, 然后你本来的图片1200可能就开始显示不全了. 如果你的图片按100%显示的话,这个时候又正常了.
- poj2778 ac自动机+矩阵快速幂
给m个子串,求长度为n的不包含子串的母串数,最直接的应该是暴搜,肯定tle,考虑用ac自动机 将子串建成字典树,通过next表来构造矩阵,然后用矩阵快速幂求长度为n的数量 邻接矩阵https://we ...
- levelDB, TokuDB, BDB等kv存储引擎性能对比——wiredtree, wiredLSM,LMDB读写很强啊
在:http://www.lmdb.tech/bench/inmem/ 2. Small Data Set Using the laptop we generate a database with 2 ...