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*** ...
随机推荐
- sql server parameter validation of stored procedure
https://stackoverflow.com/questions/41908156/validating-missing-parameter-from-procedure-calls I don ...
- processing学习整理---Image
1.Load and Display(加载与显示) Images can be loaded and displayed to the screen at their actual size or ...
- JS,Jquery获取屏幕的宽度和高度
Javascript: 网页可见区域宽: document.body.clientWidth网页可见区域高: document.body.clientHeight网页可见区域宽: document.b ...
- javascript 内置对象及常见API
javascript 内置对象及常见API 2012-09-02 15:17 571人阅读 评论(0) 收藏 举报 javascript正则表达式文档浏览器urlstring Javascript内置 ...
- 【转载】Java类加载原理解析
Java类加载原理解析 原文出处:http://www.blogjava.net/zhuxing/archive/2008/08/08/220841.html 1 基本信息 摘要: 每个j ...
- NSRegularExpression iOS自带的正则表达式
以前做验证邮箱,电话号码的时候通常用第三方的正则表达式或者NSPredicate(点这里查看以前的文章),在后期,苹果推出了自己的正则表达式来提供给开发者调用,很方便,功能也强大. 具体可以查看官方文 ...
- HDU 2203 kmp
http://acm.hdu.edu.cn/showproblem.php?pid=2203 亲和串 Time Limit: 3000/1000 MS (Java/Others) Memory ...
- sklearn.preprocessing.StandardScaler 离线使用 不使用pickle如何做
Having said that, you can query sklearn.preprocessing.StandardScaler for the fit parameters: scale_ ...
- SSM整合(spring、springMVC、mybatis)
需要用的包: 包括:spring的包.springMVC的包.mybatis的包.数据库驱动包.json相关的包 配置如下,首先是mybatis的配置 <?xml version="1 ...
- LeetCode OJ:Minimum Path Sum(最小路径和)
Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which ...