下面的需求是将不仅获取查询的结果集,还要将结果集的SIZE返回.结果集的SIZE是无法通过CURSOR获取的. 通常聚合函数在二种情况下,使用默认分组即没有分组.可以直接使用,比如 select COUNT(1) as toalrows FROM FTP.NBZZ_KHLR_NEW_201312 a, DB2ADMIN.JAF_OM_EMPLOYEE b, FTP.ORG_EMP_HISTORY c WHERE a.ZH = '7…
在ETL项目中经常会碰到这样的一种情况: 目标表中的某列来源于不同的源数据表A,B,C.如果在A中没有有效的数据则从B中取,如果B中没有则从C中取,如果C中也没有则设置为空值. 遇到这样的情况可能,有时候第一个念头就是case when then else end这样的方式,这种方式也可以解决问题,但是写起来还是比较复杂,容易出错,特别是当别人看你写的SQL的时候会头疼. 那么有没有更好的办法呢? 那就是coalesce函数. COALESCE函数可以替代CASE语句,而且比CASE要方便得多,…
说起 DB2 在线分析处理,可以用很好很强大来形容.这项功能特别适用于各种统计查询,这些查询用通常的SQL很难实现,或者根本就无发实现.首先,我们从一个简单的例子开始,来一步一步揭开它神秘的面纱,请看下面的SQL: SELECT ROW_NUMBER() OVER(ORDER BY SALARY) AS 序号, NAME AS 姓名, DEPT AS 部门, SALARY AS 工资 FROM ( --姓名 部门 工资 VALUES ('张三','市场部',4000), ('赵红',…
说起 DB2 在线分析处理,可以用很好很强大来形容.这项功能特别适用于各种统计查询,这些查询用通常的SQL很难实现,或者根本就无发实现.首先,我们从一个简单的例子开始,来一步一步揭开它神秘的面纱,请看下面的SQL: SELECT ROW_NUMBER() OVER(ORDER BY SALARY) AS 序号, NAME AS 姓名, DEPT AS 部门, SALARY AS 工资 FROM ( --姓名 部门 工资 VALUES ('张三','市场部',4000), ('赵红','技…