SQL 树结构统计数据
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 树结构统计数据的更多相关文章
- SQL语句统计每天、每月、每年的 数据
SQL语句统计每天.每月.每年的数据 1.每年select year(ordertime) 年,sum(Total) 销售合计from 订单表group by year(ordertime) 2.每月 ...
- SQL语句统计每天、每月、每年的数据
1.每年select year(ordertime) 年,sum(Total) 销售合计from 订单表group by year(ordertime) 2.每月select year(orderti ...
- sql server 分组统计数据
说明:group by是sql中对数据表中的数据进行分组的,在select列表中出现的字段必须全部出现在group by 字段中,出现在聚合函数中的字段在group by中可有可无,没有出现在sele ...
- 统计数据方面SQL与HQL
因为HQL是面向对象的,所以对于统计数据方面使用HQL时不合适的,其实HQL最终还是会转化成SQL语句,项目里使用HQL语句应该是为了标准规范化. 统计的数据:同一个表,同一个字段,不同属性,统计不同 ...
- 转载:SQL按照日、周、月、年统计数据的方法
转载源:http://www.jb51.net/article/42613.htm SQL按照日.周.月.季度.年统计数据的方法 方式一: --按日 select sum(consume),day([ ...
- 【转】SQL语句统计每天、每月、每年的数据
原文:https://www.cnblogs.com/Fooo/p/3435687.html SQL语句统计每天.每月.每年的数据 1.每年select year(ordertime) 年,sum(T ...
- sql不重复的查找统计数据(经典)
例表如下: 表名:MYTEST TID COL1 COL2 COL3 1 1 A A2 1 ...
- SQL Server定时自动抓取耗时SQL并归档数据发邮件脚本分享
SQL Server定时自动抓取耗时SQL并归档数据发邮件脚本分享 第一步建库和建表 USE [master] GO CREATE DATABASE [MonitorElapsedHighSQL] G ...
- 微软BI 之SSIS 系列 - 使用 SQL Profilling Task (数据探测) 检测数据源数据
开篇介绍 SQL Profilling Task 可能我们很多人都没有在 SSIS 中真正使用过,所以对于这个控件的用法可能也不太了解.那我们换一个讲法,假设我们有这样的一个需求 - 需要对数据库表中 ...
随机推荐
- Django ORM 中的批量操作
Django ORM 中的批量操作 在Hibenate中,通过批量提交SQL操作,部分地实现了数据库的批量操作.但在Django的ORM中的批量操作却要完美得多,真是一个惊喜. 数据模型定义 首先,定 ...
- 如何用Java编写一段代码引发内存泄露
本文来自StackOverflow问答网站的一个热门讨论:如何用Java编写一段会发生内存泄露的代码. Q:刚才我参加了面试,面试官问我如何写出会发生内存泄露的Java代码.这个问题我一点思路都没有, ...
- TextView & EditText
TextView 1.下划线 textView.getPaint().setFlags(Paint. UNDERLINE_TEXT_FLAG ); //下划线 2.单独做第一步,文字会出现锯齿,要加下 ...
- 转载总结 C# 多态(虚方法,抽象,接口实现)
前言:我们都知道面向对象的三大特性:封装,继承,多态.封装和继承对于初学者而言比较好理解,但要理解多态,尤其是深入理解,初学者往往存在有很多困惑,为什么这样就可以?有时候感觉很不可思议,由此,面向对象 ...
- jsDoc注释的规范
注释以/** 开始 */结束 JSDoc 命令属性 命令名 描述 @param @argument 指定参数名和说明来描述一个函数参数. @return @returns 描述函数的返回值. ...
- oscgit
Gitlab PaaS项目演示 git config --global user.name "你的名字或昵称" git config --global user.email &qu ...
- [一位菜鸟的COCOS-2D编程之路]精灵表单的制作以及简易动画的生成
1.第一步:使用Zwoptex 制作精灵表单 2.制作的表单的名称为 cocos2Dpng,cocos2D.plist: 3.精灵的动画效果 主要分为五部分. // on "init&quo ...
- IOS开发常用技术网站
IOS常用网站: 1.http://www.cocoachina.com 2.http://oschina.net 3.http://code4app.com
- 将某个组中的账户移动到新的OU下
将某个组中的账户移动到新的OU下 #定义组名 $groupname = "testg" #定义新的OU名称 $newou = "OU=oo,OU=Admins,dc=dd ...
- Java基础知识强化之多线程笔记05:Java程序运行原理 和 JVM的启动是多线程的吗
1. Java程序运行原理: Java 命令会启动Java 虚拟机,启动 JVM,等于启动了一个应用程序,也就是启动了一个进程.该进程会自动启动一个 “主线程” ,然后主线程去调用某个类的 m ...