我的习惯写法,担心不加 in 条件 ,统计结果会包含其他的数据
SELECT ZWKMYE_KJND as 年度,ZWKMYE_KJQJ as 月份,ZWKMYE_DWBH as 单位,
sum(case ZWKMYE_KMBH when '' then ZWKMYE_JFFS end) 税金,
sum(case ZWKMYE_KMBH when '' then ZWKMYE_DFFS end) 其他业务收入,
sum(case ZWKMYE_KMBH when '' then ZWKMYE_JFFS end) 其他业务支出 ,
sum(case ZWKMYE_KMBH when '' then ZWKMYE_JFFS end) 营业费用,
sum(case ZWKMYE_KMBH when '' then ZWKMYE_JFFS end) 管理费用,
sum(case ZWKMYE_KMBH when '' then ZWKMYE_JFFS end) 财务费用,
sum(case ZWKMYE_KMBH when '' then ZWKMYE_DFFS end) 投资收益,
sum(case ZWKMYE_KMBH when '' then ZWKMYE_DFFS end) 营业外收入,
sum(case ZWKMYE_KMBH when '' then ZWKMYE_JFFS end) 营业支出,
sum(case ZWKMYE_KMBH when '' then 0-ZWKMYE_DQYE end) 累计折旧,
sum(case ZWKMYE_KMBH when '' then 0-ZWKMYE_DQYE end) 累计摊销,
sum(case ZWKMYE_KMBH when '' then ZWKMYE_JFFS end) 利息支出 from VW_GLBI_CWFX_JLR_KMYE
where 1=1
and ZWKMYE_KMBH in ('','','','','','','','','','','','')
and ZWKMYE_DWBH=''
and ZWKMYE_KJND=''
group by ZWKMYE_KJND,ZWKMYE_KJQJ,ZWKMYE_DWBH
测试验证:不加in条件,统计结果正确
create table zy
(
F01 varchar(4),
F02 int
) insert into zy
select 'A',10
union all
select 'B',10
union all
select 'C',10
union all
select 'D',10
union all
select 'E',10 select
sum(case F01 when 'A' then F02 end) A,
sum(case F01 when 'B' then F02 end) B
from zy

行转列求和:不加 in 条件,sum的数据会不会准确?的更多相关文章

  1. 微软BI 之SSIS 系列 - 在 SQL 和 SSIS 中实现行转列的 PIVOT 透视操作

    开篇介绍 记得笔者在 2006年左右刚开始学习 SQL Server 2000 的时候,遇到一个面试题就是行转列,列转行的操作,当时写了很长时间的 SQL 语句最终还是以失败而告终.后来即使能写出来, ...

  2. C#行转列&绑定DGV

    c#行转列 今天工作中,恰好写到此处,想起之前第一次行转列的时候,卡壳了好久,今天正好碰上,故而花费几分钟,整理成案例,分享到博客上. 这是个很简单的功能,第一次可以使用案例,后面最好能达到信手拈来的 ...

  3. mysql行转列 问题 SUM(IF(条件,列值,0))

    sum(if(条件,列值,0))语法用例: select name,sum(if(subject="语文",score,0)) as "语文" from gra ...

  4. awk对列/行进行统计求和【转】

    场景]--类似于excel中的sum函数对列/行进行统计求和 A01 A02 A03 A09 [要求1]--对列进行统计求和 A01 A02 A03 A09 TOTAL [要求2]--对行进行统计求和 ...

  5. postgresql高级应用之行转列&汇总求和

    postgresql高级应用之行转列&汇总求和 轉載請注名出處 https://www.cnblogs.com/funnyzpc/p/14732165.html 前言 节前公司业务方需要做一個 ...

  6. Oracle 行转列pivot 、列转行unpivot 的Sql语句总结

    这个比较简单,用||或concat函数可以实现 select concat(id,username) str from app_user select id||username str from ap ...

  7. SQL Server 动态行转列(参数化表名、分组列、行转列字段、字段值)

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 实现代码(SQL Codes) 方法一:使用拼接SQL,静态列字段: 方法二:使用拼接SQL, ...

  8. mysql行转列、列转行示例

    最近在开发过程中遇到问题,需要将数据库中一张表信息进行行转列操作,再将每列(即每个字段)作为与其他表进行联表查询的字段进行显示. 借此机会,在网上查阅了相关方法,现总结出一种比较简单易懂的方法备用. ...

  9. SQL Server 2008 R2——PIVOT 行转列 以及聚合函数的选择

    ==================================声明================================== 本文原创,转载在正文中显要的注明作者和出处,并保证文章的完 ...

随机推荐

  1. com学习前提必看

    1) COM组件实际上是一个C++类,而接口都是纯虚类.组件从接口派生而来.我们可以简单的用纯粹的C++的语法形式来描述COM是个什么东西: class IObject { public: virtu ...

  2. python基础(set)补充

    1.函数参数(引用)  函数的传参,传的是引用 def func(args): args.appand(123) li=[11,22,33] func(li) print(li) [11,22,33, ...

  3. 洛谷P1466 集合 Subset Sums

    P1466 集合 Subset Sums 162通过 308提交 题目提供者该用户不存在 标签USACO 难度普及/提高- 提交  讨论  题解 最新讨论 暂时没有讨论 题目描述 对于从1到N (1 ...

  4. 【ITOO 2】使用ArrayList时的注意事项:去除多余的null值

    问题描述:在课表导入的时候,将数据从excel表里读出,然后将list批量插入到对应的课程表的数据表单中去,出现结果:当我们导入3条数据时,list.size()为3,但是实际上,list里面存在10 ...

  5. display:inline-block的空白bug问题

    产生原因:我们写代码的时候习惯在结束标签的后面添加换行符,这个时候就会产生空白符.但是不同浏览器对空白符的理解是不同的,IE6/7会忽略掉此空白符,正常显示内容:IE8以上的IE浏览器以及FF.chr ...

  6. 简短总结一下C#里跨线程更新UI

    摘自: http://my.oschina.net/sdqxcxh/blog/53707 跨线程更新UI是写多线程程序尤其是通信类的程序经常遇到的问题,这里面主要的问题是冲突,比如数据线程想要更新UI ...

  7. leetcode 67

    67. Add Binary Given two binary strings, return their sum (also a binary string). For example,a = &q ...

  8. Jqgrid获取行id

    //获取选中行(单行)的ID var id = $("#table").jqGrid('getGridParam','selrow'); //根据id获取行数据,返回的是列表 va ...

  9. easyui+ashx 动态初始化datagrid(动态列头)

    效果图: 1:简单初始化 JSON格式数据如下(后台自己构建,后台代码略): {"total":6,"columns":[{"field": ...

  10. 著名的二分查找的BUG

    int binarySearch(int a[], int key, int length) { int low = 0; int high = length - 1; while (low < ...