简单的交叉报表处理示例.sql
2012-05-20 20:54
316 查看
DECLARE @t TABLE(Year int,Quarter int,Amount decimal(10,1))
INSERT @t SELECT 1990, 1, 1.1
UNION ALL SELECT 1990, 2, 1.2
UNION ALL SELECT 1990, 3, 1.3
UNION ALL SELECT 1990, 4, 1.4
UNION ALL SELECT 1991, 1, 2.1
UNION ALL SELECT 1991, 2, 2.2
UNION ALL SELECT 1991, 3, 2.3
UNION ALL SELECT 1991, 4, 2.4
--查询处理
SELECT Year,
Q1=SUM(CASE Quarter WHEN 1 THEN Amount END),
Q2=SUM(CASE Quarter WHEN 2 THEN Amount END),
Q3=SUM(CASE Quarter WHEN 3 THEN Amount END),
Q4=SUM(CASE Quarter WHEN 4 THEN Amount END)
FROM @t
GROUP BY Year
/*--结果
Year Q1 Q2 Q3 Q4
--------- ------------------------------
1990 1.1 1.2 1.3 1.4
1991 2.1 2.2 2.3 2.4
--*/
INSERT @t SELECT 1990, 1, 1.1
UNION ALL SELECT 1990, 2, 1.2
UNION ALL SELECT 1990, 3, 1.3
UNION ALL SELECT 1990, 4, 1.4
UNION ALL SELECT 1991, 1, 2.1
UNION ALL SELECT 1991, 2, 2.2
UNION ALL SELECT 1991, 3, 2.3
UNION ALL SELECT 1991, 4, 2.4
--查询处理
SELECT Year,
Q1=SUM(CASE Quarter WHEN 1 THEN Amount END),
Q2=SUM(CASE Quarter WHEN 2 THEN Amount END),
Q3=SUM(CASE Quarter WHEN 3 THEN Amount END),
Q4=SUM(CASE Quarter WHEN 4 THEN Amount END)
FROM @t
GROUP BY Year
/*--结果
Year Q1 Q2 Q3 Q4
--------- ------------------------------
1990 1.1 1.2 1.3 1.4
1991 2.1 2.2 2.3 2.4
--*/
相关文章推荐
- 行值动态变化的交叉报表处理示例.sql
- 多列转换为行的交叉报表处理示例.sql
- 行值动态变化的交叉报表处理示例(转换多列).sql
- 特殊的交叉报表处理示例.sql
- 安卓开发SQlite使用执行SQL语句一些简单的处理——2.查询数据库的数据
- 【Spring-AOP-学习笔记-7】@Around增强处理简单示例
- ROLLUP实现的分级汇总示例(带排序处理).sql
- 基于boost的bind与function的一个简单示例消息处理框架
- 交叉报表处理实例
- 安卓开发SQlite使用执行SQL语句一些简单的处理——1.创建数据库,表和添加数据
- 用iReport制作一个简单的交叉报表
- 数据库Sql 交叉报表
- PostgreSQL:pgloader导入导出处理重复数据简单示例
- 在EF4.1的DBContext中实现事务处理(BeginTransaction)和直接执行SQL语句的示例
- 利用日志备份实现双服务器方案的处理示例.sql
- 转:邹建--交叉报表处理实例
- 在EF4.1的DBContext中实现事务处理(BeginTransaction)和直接执行SQL语句的示例
- SQL Server 查询处理中的各个阶段(SQL执行顺序)示例
- 【Spring-AOP-学习笔记-5】@AfterReturning增强处理简单示例
- 树形数据深度排序处理示例(递归法).sql