通过sql语句实现类似交叉表,分类统计的效果
一、类别固定
SELECT dbo.Department.DepartmentName AS 单位名称, dbo.Schedule.ScheduleName, dbo.Schedule.Year,
SUM(CASE Category.CategoryName WHEN '厂房与建筑' THEN DXPlanInfo.PlanProCount + DXPlanInfo.PlanWorkCount END) AS 厂房与建筑,
SUM(CASE Category.CategoryName WHEN '生活福利' THEN DXPlanInfo.PlanProCount + DXPlanInfo.PlanWorkCount END) AS 生活福利,
SUM(CASE Category.CategoryName WHEN '交通运输' THEN DXPlanInfo.PlanProCount + DXPlanInfo.PlanWorkCount END) AS 交通运输,
SUM(CASE Category.CategoryName WHEN '综采综掘' THEN DXPlanInfo.PlanProCount + DXPlanInfo.PlanWorkCount END) AS 综采综掘,
SUM(CASE Category.CategoryName WHEN '一般设备' THEN DXPlanInfo.PlanProCount + DXPlanInfo.PlanWorkCount END) AS 一般设备,
SUM(CASE Category.CategoryName WHEN '其它' THEN DXPlanInfo.PlanProCount + DXPlanInfo.PlanWorkCount END) AS 其它,
dbo.DXPlanInfo.remarks AS 备注
FROM dbo.Category INNER JOIN
dbo.Schedule INNER JOIN
dbo.[Plan] ON dbo.Schedule.ID = dbo.[Plan].ScheduleID INNER JOIN
dbo.Department ON dbo.[Plan].DepartmentID = dbo.Department.ID ON dbo.Category.ID = dbo.[Plan].CategoryID INNER JOIN
dbo.DXPlanInfo INNER JOIN
dbo.Item ON dbo.DXPlanInfo.ItemID = dbo.Item.ID ON dbo.[Plan].ID = dbo.Item.PlanID
WHERE (dbo.Schedule.ScheduleName = '****')
GROUP BY dbo.Department.DepartmentName, dbo.Schedule.ScheduleName, dbo.Schedule.Year, dbo.DXPlanInfo.remarks
二、类别不固定
declare @sql varchar(8000)
set @sql='select Department.DepartmentName AS 单位名称, '
select @sql=@sql+' sum(case Category.CategoryName when '''+categoryName+''' then DXPlanInfo.PlanProCount + DXPlanInfo.PlanWorkCount END) as ['+categoryName+'],'
from (select distinct categoryName from category where scheduleID=5) as a
set @sql = @sql + ' dbo.DXPlanInfo.remarks AS 备注 from dbo.Category INNER JOIN
dbo.Schedule INNER JOIN
dbo.[Plan] ON dbo.Schedule.ID = dbo.[Plan].ScheduleID INNER JOIN
dbo.Department ON dbo.[Plan].DepartmentID = dbo.Department.ID ON dbo.Category.ID = dbo.[Plan].CategoryID INNER JOIN
dbo.DXPlanInfo INNER JOIN
dbo.Item ON dbo.DXPlanInfo.ItemID = dbo.Item.ID ON dbo.[Plan].ID = dbo.Item.PlanID
GROUP BY dbo.Department.DepartmentName, dbo.Schedule.ScheduleName, dbo.Schedule.Year, dbo.DXPlanInfo.remarks'
exec(@sql)
分享到:
相关推荐
数据库统计sql脚本 mysql数据库
sqlserver 分组合并字符串 分组统计数量
此次发布内容为2019年全国统计用区划代码(12位)和城乡分类代码(3位),地域范围为国家统计局开展统计调查的全国31个省、自治区、直辖市,未包括我国台湾省、香港特别行政区、澳门特别行政区。 《关于统计上...
在Java代码实现方面,结合了SQLSERVER数据库,编写了数据库操作类,连接指定数据库并获得数据库属性信息,按省份分类浏览student数据库中的stuinfo表。输入并分类浏览参赛队信息,实际上这是一个数据库应用范例,...
SQL提供了大量用于分类、分组和总计的子句及运算符。本文的建议将有助于您了解何时进行分类、何时分组、何时及如何进行总计。
│ │ 3.5.3 字符串分拆并统计的处理示例.sql │ │ 3.5.5 字符串处理示例--列车车次查询.sql │ │ 3.6.2 字符串在编号查询中的应用示例及常见问题.sql │ │ 3.6.3 动态参数的存储过程示例.sql │ │ 3.6.4 动态他...
资源介绍:。源码结合高级表格支持库,主要对MDB数据库进行分类统计计算。通过执行SQL语句来得到相关的记录集,支持按照经销商和产品进行分类统计求和。资源作者:。@数据库教程。资源界面:。资源下载:。
4754-2017是最新国民经济行业分类标准,根据国家统计局最新数据整理2017年10月实行的标准。此资源为门类、大类、中类及小类所有数据。 部分示例: id | cate | cate_big | cate_big |cate_small | name |...
前几天要做一个统计查询的功能,因为涉及多张表,多种条件的统计分析。一开始便想到了UNION和IF语句,然后写了1000多行代码,就为了查30条数据觉得不应该。 然后就开始百度,多种条件下的统计。然后有一种语法让我...
学号.sql │ 开票统计--涉及到连号处理.sql │ 新编号查询示例(分类查询).sql │ 新编号查询示例.sql │ 日期流水号.sql │ 材料流水号.sql │ 流水号.sql │ 箱编号连号处理.sql ...
SQL语句分类(DDL、DML、DQL、DCL) 内容简介 第五部分 SQL优化 优化器 SQL语句执行过程 SQL优化术语 第一部分 SQL基础 SQL简介 发展历史 SQL语句分类 DDL[Data Definition Language] DML[Data Manipulation ...
8.2.3 索引扫描类型的分类与构造 219 8.3 索引相关优化案例 225 8.3.1 三大特性的相关案例 225 8.3.2 组合索引的经典案例 231 8.4 本章习题、总结与延伸 234 第9章 且慢,弄清索引之阻碍让SQL飞 235 9.1 索引...
统计用产品分类目录。excel版本。包含code,name,level,upperCode。
此次发布内容为2019年全国统计用区划代码(12位)和城乡分类代码(3位),地域范围为国家统计局开展统计调查的全国31个省、自治区、直辖市,未包括我国台湾省、香港特别行政区、澳门特别行政区。
SQL提供了大量用于分类、分组和总计的子句及运算符。本文介绍了何时进行分类、何时分组、何时及如何进行总计。
聚合函数(统计) 10 SQL变量 11 局部变量 11 全局变量 11 SQL中的代码块 14 数据库中的if和else语句 14 SQL中的while语句 14 Case-End多分支语句 14 子查询 15 视图(虚拟表)和索引 16 视图 16 索引 16 ...
以下是使用等待统计信息分析SQLServer性能并排除故障的实用指南。学习如何准确地确定查询运行缓慢的原因。测量每个瓶颈所消耗的时间,以便您可以首先集中精力进行最大的改进。此版本被更新,以涵盖查询存储中等待...
统计信息的分类 根据创建源的不同,统计信息分为两种表统计信息和索引统计信息,除非你自定义它们,否则它们之间没有本质的区别。 索引统计信息建立在索引上面,因此对于创建已经存在的数据上,在创建索引...
以有意义的方式安排数据可能是一种挑战。有时您只需进行简单分类。...可喜的是SQL提供了大量用于分类、分组和总计的子句及运算符。本文的建议将有助于您了解何时进行分类、何时分组、何时及如何进行总计。
8.2.3 索引扫描类型的分类与构造 219 8.3 索引相关优化案例 225 8.3.1 三大特性的相关案例 225 8.3.2 组合索引的经典案例 231 8.4 本章习题、总结与延伸 234 第9章 且慢,弄清索引之阻碍让SQL飞 235 9.1 索引...