我的习惯写法,担心不加 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. Runtime机制之结构体及操作函数

    一.动态语言 Objective-C语言是一门动态语言,它将很多静态语言在编译和链接时期做的事放到了运行时来处理.这种动态语言的优势在于:具有灵活性,比如:消息转发,方法交换等.它有一个运行时系统Ob ...

  2. Java高级软件工程师面试考纲(转)

    如果要应聘高级开发工程师职务,仅仅懂得Java的基础知识是远远不够的,还必须懂得常用数据结构.算法.网络.操作系统等知识.因此本文不会讲解具体的技术,笔者综合自己应聘各大公司的经历,整理了一份大公司对 ...

  3. No.003 Longest Substring Without Repeating Characters

    Longest Substring Without Repeating Characters Total Accepted: 167158 Total Submissions: 735821 Diff ...

  4. MacOSX和Windows 8的完美融合

    MacOSX和Windows8的完美融合 一般情况下我们要在MACOS系统下运行Windows软件怎么办呢?一种方法我们可以装CrossOver这款软件,然后在configuration->in ...

  5. java swing 使用按钮关闭窗口

    目的是给JButton添加点击操作,使指定JFrame窗口关闭. 网上不少说法是采用frame.dispose();的方法 但是采用frame.dispose();并没有使添加在frame上的wind ...

  6. ionic ngcordova map 地圖

    幾乎每個APP都會有地圖 所以在這裏記錄一下 1.在index.html 中 <script src="https://maps.googleapis.com/maps/api/js? ...

  7. WWF3的持续化<第五篇>

    WWF提供的持续化功能会自动记录工作流实例以及它包含的所有活动的执行状态,这些状态并不是指工作流上流转的表单所呈现的业务逻辑状态.WWF持续化功能就是将未执行完成的工作流实例以及该实例中各种活动的状态 ...

  8. docker 换更优秀的 文件系统 比如 OverlayFS(centos7 overlay2)

    内容摘自:http://www.projectatomic.io/blog/2015/06/notes-on-fedora-centos-and-docker-storage-drivers/ doc ...

  9. 【Python】django模型models的外键关联使用

    Python 2.7.10,django 1.8.6 外键关联:http://www.bubuko.com/infodetail-618303.html 字段属性:http://www.cnblogs ...

  10. 要在一般处理程序中获取其他页面的session值

    1.要在一般处理程序中获取其他页面的session值,需要引用名空间: using System.Web.SessionState; 2.然后继承一个接口:IRequiresSessionState, ...