通过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数据库
国民经济行业分类是国家对各行各业进行系统化、标准化划分的重要工具,它为统计、政策制定、市场分析等提供了基础数据支持。GB/T 4754--2017是中国现行的国民经济行业分类标准,这个标准细致地将经济活动划分为四级...
sqlserver 分组合并字符串 分组统计数量
以"ACCESS数据库分类统计.rar"为例,假设我们有一个包含员工信息和销售数据的数据库,可以先通过SQL查询按部门分类统计员工人数,再按产品类别统计销售额。易语言程序会执行这些操作,并将结果以图表或表格的形式...
标题中的“国民经济行业分类新旧类目对照表SQL语句”指的是使用SQL(Structured Query Language)语言编写的数据库查询代码,用于处理与国民经济行业分类相关的数据。这些SQL语句可能涉及对比不同时间段或版本下的...
通过SQL文件,我们可以深入理解淘宝的商品分类体系,甚至可以进行各种数据分析,例如统计各个类别的商品数量、分析各级别目录下的商品分布等。这样的数据对于电商从业者、市场分析师、数据科学家以及对电商有兴趣的...
2. **行业分析**:通过对行业分类数据的统计分析,可以洞察各行业的热门职位、增长趋势,为企业发展提供决策依据。 3. **薪酬设定**:根据职位分类表,结合市场数据,企业可以更科学地设定薪资标准,吸引优秀人才。...
总的来说,"ACCESS数据库分类统计易语言源码"是一个实用的教学资源,它揭示了如何运用易语言和SQL进行数据库的分类统计。对于想要提升数据库编程技能,尤其是对ACCESS数据库操作感兴趣的开发者来说,这是一个值得...
总的来说,"易语言ACCESS数据库分类统计"涉及到易语言与ACCESS数据库的接口使用、SQL查询语句编写、数据统计方法以及用户界面设计等多个方面的知识。通过学习和实践,我们可以用易语言开发出能够高效处理数据库数据...
在国民经济行业分类中使用SQL,意味着我们可以高效地处理大量行业数据,进行复杂的数据挖掘和统计分析。 t_industry.sql可能是一个数据库表格,其中包含了国民经济行业分类的各种信息,如行业代码、行业名称、行业...
在经济统计和数据分析中,国民经济分类是一个关键概念,它将经济活动按照一定的标准和规则划分为不同的部门、行业和活动类型。这样的分类体系有助于政府、研究机构和企业更好地理解国家或地区的经济结构,进行政策...
《2015职业分类大典SQL插入语句》 在信息技术领域,数据库管理是至关重要的环节,而SQL(Structured Query Language)作为管理和操作数据库的标准语言,被广泛应用于数据的增删改查操作。本话题将围绕“2015职业...
此次发布内容为2019年全国统计用区划代码(12位)和城乡分类代码(3位),地域范围为国家统计局开展统计调查的全国31个省、自治区、直辖市,未包括我国台湾省、香港特别行政区、澳门特别行政区。 《关于统计上...
在这个特定的案例中,"行业类别数据字典SQL"是一个用于存储国民经济行业分类信息的SQL脚本,这通常是为了帮助开发者快速构建与行业类别相关的数据库,并进行高效开发。 首先,我们要理解国民经济行业分类。这是国家...
本文件“地区分类SQL文件”提供了一个详尽的三级地区分类,这意味着它可能包含了国家、省份/州、城市这样的层次结构,便于在数据库中高效存储和查询地区信息。 SQL(Structured Query Language)是用于管理和处理...
分组查询是SQL中一种非常重要的技术,它可以帮助我们按指定的列将数据进行分类汇总,进而实现各种复杂的统计需求。在给定的例子中,我们可以看到如何使用`GROUP BY`来分析学生选课的情况。 **示例:** ```sql ...
标题 "2017国民经济行业分类sql.rar" 涉及到的是2017年中国国民经济行业分类的数据,这些数据已经以SQL语句的...对于数据分析师,还需要掌握如何对这些行业分类数据进行清洗、统计和分析,以揭示行业发展趋势和模式。
7. **存储过程和函数**:高级的SQL文件可能包含自定义的存储过程和函数,用于执行一系列数据库操作,比如批量导入汽车数据、统计某一类别的数量等。 8. **事务处理**:在处理大量数据时,SQL文件可能包含BEGIN、...
在SQL中,对数据进行分类、分组和总计是数据分析和报表生成的关键步骤。以下是对这些概念的详细说明: 1. **分类排序**: 使用`ORDER BY`子句可以对查询结果进行排序,按照升序(ASC)或降序(DESC)排列。这有助...
掌握SQL语言对于医院统计工作等数据密集型行业的人员来说至关重要,因为这能帮助他们高效地完成数据查询和统计分析任务。 2. 利用SQL提高统计效率 在统计工作中,传统的手工统计方法已经被计算机操作所替代。尽管...