create table #Tmp
(
ID int IDENTITY (1,1) not null,
name varchar(50),
sl int
);

DECLARE @ID VARCHAR(36)
SET @ID = '7197ccfb-f01d-437f-9059-f4b821ebf2e1'
;WITH T AS
(
SELECT ID , parentid , NAME
FROM Base_SXZD
WHERE ID = @ID
UNION ALL
SELECT A.ID , A.parentid , A.NAME
FROM Base_SXZD AS A JOIN T AS B ON A.parentid = B.id
)
insert into #Tmp
select name=(select name from Base_SXZD where id='7197ccfb-f01d-437f-9059-f4b821ebf2e1'),sl = sum(m.sl) from (
select a.id, a.name,count(b.id) as sl from T a
left join jxxt_ajlb b on a.id = b.ajlxid
" + GetIfWhere(all, ajly) + @"
group by a.id,a.name) m

SET @ID = '5090a923-3c1a-4628-95ae-12edf10d41ae'
;WITH T AS
(
SELECT ID , parentid , NAME
FROM Base_SXZD
WHERE ID = @ID
UNION ALL
SELECT A.ID , A.parentid , A.NAME
FROM Base_SXZD AS A JOIN T AS B ON A.parentid = B.id
)
insert into #Tmp
select name=(select name from Base_SXZD where id='5090a923-3c1a-4628-95ae-12edf10d41ae'),sl = sum(m.sl) from (
select a.id, a.name,count(b.id) as sl from T a
left join jxxt_ajlb b on a.id = b.ajlxid
" + GetIfWhere(all, ajly) + @"
group by a.id,a.name) m

SET @ID = '91322101-c2cb-47bd-91ce-69418722d835'
;WITH T AS
(
SELECT ID , parentid , NAME
FROM Base_SXZD
WHERE ID = @ID
UNION ALL
SELECT A.ID , A.parentid , A.NAME
FROM Base_SXZD AS A JOIN T AS B ON A.parentid = B.id
)
insert into #Tmp
select name=(select name from Base_SXZD where id='91322101-c2cb-47bd-91ce-69418722d835'),sl = sum(m.sl) from (
select a.id, a.name,count(b.id) as sl from T a
left join jxxt_ajlb b on a.id = b.ajlxid
" + GetIfWhere(all, ajly) + @"
group by a.id,a.name) m

select ID,name, isnull(sl,0) as ajsl from #Tmp
drop table #Tmp

SQL 树结构统计数据的更多相关文章

  1. SQL语句统计每天、每月、每年的 数据

    SQL语句统计每天.每月.每年的数据 1.每年select year(ordertime) 年,sum(Total) 销售合计from 订单表group by year(ordertime) 2.每月 ...

  2. SQL语句统计每天、每月、每年的数据

    1.每年select year(ordertime) 年,sum(Total) 销售合计from 订单表group by year(ordertime) 2.每月select year(orderti ...

  3. sql server 分组统计数据

    说明:group by是sql中对数据表中的数据进行分组的,在select列表中出现的字段必须全部出现在group by 字段中,出现在聚合函数中的字段在group by中可有可无,没有出现在sele ...

  4. 统计数据方面SQL与HQL

    因为HQL是面向对象的,所以对于统计数据方面使用HQL时不合适的,其实HQL最终还是会转化成SQL语句,项目里使用HQL语句应该是为了标准规范化. 统计的数据:同一个表,同一个字段,不同属性,统计不同 ...

  5. 转载:SQL按照日、周、月、年统计数据的方法

    转载源:http://www.jb51.net/article/42613.htm SQL按照日.周.月.季度.年统计数据的方法 方式一: --按日 select sum(consume),day([ ...

  6. 【转】SQL语句统计每天、每月、每年的数据

    原文:https://www.cnblogs.com/Fooo/p/3435687.html SQL语句统计每天.每月.每年的数据 1.每年select year(ordertime) 年,sum(T ...

  7. sql不重复的查找统计数据(经典)

    例表如下: 表名:MYTEST TID    COL1    COL2     COL3 1           1           A            A2           1     ...

  8. SQL Server定时自动抓取耗时SQL并归档数据发邮件脚本分享

    SQL Server定时自动抓取耗时SQL并归档数据发邮件脚本分享 第一步建库和建表 USE [master] GO CREATE DATABASE [MonitorElapsedHighSQL] G ...

  9. 微软BI 之SSIS 系列 - 使用 SQL Profilling Task (数据探测) 检测数据源数据

    开篇介绍 SQL Profilling Task 可能我们很多人都没有在 SSIS 中真正使用过,所以对于这个控件的用法可能也不太了解.那我们换一个讲法,假设我们有这样的一个需求 - 需要对数据库表中 ...

随机推荐

  1. POJ2389: 大数字乘法算法

    2014-12-26 大数字乘法算法一般是采用模拟"小学生乘法演算过程”方法. 主要算法思想: 1. 乘数a第i)位与乘数b第j)位数字相乘,并将该乘积结果放到乘积结果数组product的第 ...

  2. Bzoj-2820 YY的GCD Mobius反演,分块

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2820 题意:多次询问,求1<=x<=N, 1<=y<=M且gcd( ...

  3. usb device selection

  4. jad的用法(反编译某目录下所有class)

    jad -s java -d E:\scm\MonitorServerEx\src2 -o -ff -r E:\scm\MonitorServerEx\classes-recomp\**\*.clas ...

  5. 异步网页采集利器CasperJs

    在采集网页中,我们会经常遇到采集一些异步加载页面的网页,我们通常用的httpwebrequest类就采集不到了,这个时候我们通常会采用webbrowser来辅助采集,但是.net下自带的webbrow ...

  6. hdoj 2084 数塔

    数塔 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submissi ...

  7. FreeModbus Slave 改进的eMbPoll()【worldsing 笔记】

    eMbPoll()的作用是FreeMod协议通信过程中不断查询事件对列有无完速数据桢,并进行地址和CRD验证,最后运行和回复主机. 为了减小代码尺寸对eMbPoll进行改进: 原版: 1:  2: e ...

  8. 【Away3D代码解读】(三):渲染核心流程(渲染)

    还是老样子,我们还是需要先简略的看一下View3D中render方法的渲染代码,已添加注释: //如果使用了 Filter3D 的话会判断是否需要渲染深度图, 如果需要的话会在实际渲染之前先渲染深度图 ...

  9. 学习和理解C#中的事件

    注:本文系学习笔记. 上一篇文章记录了我对C#中委托的理解.委托实际上是一种类型.可以将一个或多个方法绑定到委托上面,调用委托时,一次执行委托上面绑定的方法.本文要讲述的事件实际上和委托有很深的“感情 ...

  10. Visual Studio动态代码生成的实现基础

    这篇文章讨论以下3个问题: 1.代码生成器应该做什么 2.大多数代码生成器的缺点 3.动态代码生成实现的基础 代码生成器应该做什么? 我认为,目标是加快项目开发,方式是减少重复代码手工操作,实现是用过 ...