SQL中case的使用
来源:互联网 发布:助跑跳远技巧知乎 编辑:程序博客网 时间:2024/05/22 15:38
发票表:
id 金额 日期 类型
1 500 2005-1-1 增值税发票
2 600 2005-7-9 增值税发票
3 300 2005-2-3 普通发票
4 1000 2005-7-2 普通发票
5 200 2005-6-6 地税发票
想按发票类型转为列,得到结果集:
id 日期 增值税发票金额 普通发票金额 地税发票金额
1 2005-1-1 500 0 0
2 2005-7-9 600 0 0
3 2005-2-3 0 300 0
4 2005-7-2 0 1000 0
5 2005-6-6 0 0 600
另外,还需要一条查询语句来汇总每种类型的金额总数
增值税发票金额1100,普通发票金额1300, 地税发票金额 600
--------------------------------------------------------------------------------------------
select
id,
日期,
(case 类型 when '增值税发票' then 金额 else 0 end) as 增值税发票金额,
(case 类型 when '普通发票' then 金额 else 0 end) as 普通发票金额,
(case 类型 when '地税发票' then 金额 else 0 end) as 地税发票金额
from
发票表
compute sum(增值税发票金额),sum(普通发票金额),sum(地税发票金额)
id 金额 日期 类型
1 500 2005-1-1 增值税发票
2 600 2005-7-9 增值税发票
3 300 2005-2-3 普通发票
4 1000 2005-7-2 普通发票
5 200 2005-6-6 地税发票
想按发票类型转为列,得到结果集:
id 日期 增值税发票金额 普通发票金额 地税发票金额
1 2005-1-1 500 0 0
2 2005-7-9 600 0 0
3 2005-2-3 0 300 0
4 2005-7-2 0 1000 0
5 2005-6-6 0 0 600
另外,还需要一条查询语句来汇总每种类型的金额总数
增值税发票金额1100,普通发票金额1300, 地税发票金额 600
--------------------------------------------------------------------------------------------
select
id,
日期,
(case 类型 when '增值税发票' then 金额 else 0 end) as 增值税发票金额,
(case 类型 when '普通发票' then 金额 else 0 end) as 普通发票金额,
(case 类型 when '地税发票' then 金额 else 0 end) as 地税发票金额
from
发票表
compute sum(增值税发票金额),sum(普通发票金额),sum(地税发票金额)
- SQL中case的使用
- SQL中CASE使用
- SQL中使用Case的情況
- PL/SQL 中 CASE 语句的使用
- Sql Server中Case函数的使用
- PL/SQL 中 CASE 语句的使用
- SQL语句中case when的使用
- sql 的update中使用case when
- SQL中CASE关键字的使用
- Sql 语句中case使用
- SQL中Case经典使用
- sql case when case 的使用
- mysql的查询sql中使用case的例子
- SQL中Case的使用方法以及nvl的使用案例
- SQL中case when then的使用实例
- SQL查询语句中case when的使用
- SQL语句中CASE WHEN的使用实例
- SQL语句中CASE WHEN的使用实例
- 《Ruby for Rails中文版》读书笔记
- 北大ACM上的2418题解法
- UML建模: StarUML VS Telelogic TAU VS Rational Rose
- 关于MFC中RTTI的理解
- SMS模块的主要功能
- SQL中case的使用
- Sql Server 2000 补丁惹的获
- java.lang包概述
- 困扰很久的问题。今天下午搞定了。
- 可可西里伤心地 (郑艳) 2007-7-18
- java的IO包类分层结构
- 那一抹淡淡的汐蓝 (瀑瀑安)
- Util包下常用的数据结构介绍
- vc中Error spawning cl.exe错误的解决方法