电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

数据分层汇总交叉报表SQL语句实现方法VIP免费

数据分层汇总交叉报表SQL语句实现方法_第1页
1/16
数据分层汇总交叉报表SQL语句实现方法_第2页
2/16
数据分层汇总交叉报表SQL语句实现方法_第3页
3/16
数据分层汇总交叉报表 SQL 语句实现方法 在管理系统中,管理人员往往需要对业务数据进行不同需求的分层汇总,并产生各种形式交叉报表。为了实现此类报表,程序员需要构造层次结构非常复杂的 SQL 语句,甚至使用前台编程工具或其它报表工具来完成。 以下通过二个实例,介绍此类报表的实现方法。 一、WITH as 语句 使用 WITH AS 语句可以为一个子查询语句块定义一个名称,使用这个子查询名称可以在查询语句的很多地方引用这个子查询。Oracle 数据库像对待内联视图或临时表一样对待被引用的子查询名称,从而起到一定的优化作用。with子句是 9i新增语法。你可以在任何一个顶层的 SELECT 语句以及几乎所有类型的子查询语句前,使用子查询定义子句。被定义的子查询名称可以在主查询语句以及所有的子查询语句中引用,但未定义前不能引用。with子句中不能嵌套定义<也就是 with子句中不能有with子句>,但子查询中出现的“子查询定义”语句可以引用已定义的子查询名称。<可以引用前面已经定义的 with子句> 。 复杂的查询会产生很大的 sql,with as语法显示一个个中间结果,显得有条理些,可读性与易维护性大为提高。前面的中间结果可以被语句中的 select或后面的中间结果表引用,类似于一个范围仅限于本语句的临时表,在需要多次查询某中间结果时可以提升效率。 语法结构: w ith t1 as ( ... ),t2 as ( .. ) 二、字典准备 为了实现数据分层汇总交叉报表,需要建立行的层次结构表与列的交叉汇总对照表。 1、 交叉汇总对照表:一般分为,代码字段与代码汇总二个字段。 如:SELECT fee_code,fee_stat_cate FROM FIN_COM_FEECODESTAT WHERE REPORT_CODE = 'ZY11' FEE_CIDE 为数据表中的费用代码,FEE_STAT_CATE 为费用汇总归类代码。 2、层次结构表:一般分为,需要分层汇总的代码、汇总报表行标题、汇总报表排序代码、层次代码、分层汇总的父节点代码与报表显示标志。 如:某报表按科室汇总产生分层报表的层次结构表如下: DEPT_CODE DEPT_NAME SORTID ROOTLEVEL LEVEL_DEPT SHOW_F 1 S001 本月合计 01 2 S100 1 2 S005 内科 1 2 S001 1 3 0014 消化内科 11 3 S005 1 4 0015 血液内科 12 3 S005 1 5 0011 内科心血管 13 3 S005 1 6 0013 内分泌科 14 3 S005 1 7 0016 呼吸内科 15 3 S005 1 8 0017 肾病内科 16 3 S005 1 9 S006 综合科...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

数据分层汇总交叉报表SQL语句实现方法

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部