- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据分层汇总交叉报表SQL语句实现方法
在管理系统中,管理人员往往需要对业务数据进行不同需求的分层汇总,并产生各种形式交叉报表。为了实现此类报表,程序员需要构造层次结构非常复杂的SQL语句,甚至使用前台编程工具或其它报表工具来完成。
以下通过二个实例,介绍此类报表的实现方法。
一、WITH as 语句
使用WITH?AS?语句可以为一个子查询语句块定义一个名称,使用这个子查询名称可以在查询语句的很多地方引用这个子查询。Oracle?数据库像对待内联视图或临时表一样对待被引用的子查询名称,从而起到一定的优化作用。with子句是9i新增语法。你可以在任何一个顶层的SELECT?语句以及几乎所有类型的子查询语句前,使用子查询定义子句。被定义的子查询名称可以在主查询语句以及所有的子查询语句中引用,但未定义前不能引用。with子句中不能嵌套定义也就是with子句中不能有with子句,但子查询中出现的“子查询定义”语句可以引用已定义的子查询名称。可以引用前面已经定义的with子句?。
复杂的查询会产生很大的sql,with as语法显示一个个中间结果,显得有条理些,可读性与易维护性大为提高。前面的中间结果可以被语句中的select或后面的中间结果表引用,类似于一个范围仅限于本语句的临时表,在需要多次查询某中间结果时可以提升效率。
语法结构:
with t1 as (...),t2 as (..)
二、字典准备
为了实现数据分层汇总交叉报表,需要建立行的层次结构表与列的交叉汇总对照表。
交叉汇总对照表:一般分为,代码字段与代码汇总二个字段。
如: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 综合科 2 2 S001 1 10 0033 综合一 21 3 S006 1 11 0034 综合二 22 3 S006 1 12 0035 综合三 23 3 S006 1 13 0036 综合四 24 3 S006 1 14 0048 综合五 25 3 S006 1 15 0037 综合六 26 3 S006 1 16 0019 感染科 3 2 S001 1 17 0018 神经内科 4 2 S005 1 18 S002 外科 5 2 S001 1 19 S007 普外科 51 3 S002 1 20 0042 肝胆胰外科一病区 5101 4 S007 1 21 0002 肝胆胰外科二病区 5102 4 S007 1 22 0001 甲乳疝血管外科病区 5103 4 S007 1 23 0003 结直肠肛门外科病区 5104 4 S007 1 24 0004 胸外科 52 3 S002 1 25 0006 泌尿外科 5202 3 S002 1 26 0005 脑外科 5203 3 S002 1 27 S003 骨科 53 3 S002 1 28 0009 创伤修复病区 5301 4 S003 1 29 0008 显微、手外科病区 5302 4 S003 1 30 0040 脊柱外科一病区 5303 4 S003 1 31 0044 骨肿瘤、脊柱外科二病区 5304 4 S003 1 32 0045 关节外科病区 5305 4 S003 1 33 0046 创伤骨科病区 5306 4 S003 1 34 S015 肝胆研究院 54 3 S002 1 35 0054 肝胆研究院一 57 4 S015 1 36 0079
您可能关注的文档
- 《摘要与引言写法 2.doc
- 《摄影艺术 关于发现.doc
- 《摘要与引言写法.doc
- 《摆渡人培训管理.doc
- 《摄影技巧:不同类型用光角度的选择.doc
- 《摄影小知识2.doc
- 《摄影设备基础知识 2.doc
- 《摄影设备基础知识.doc
- 《摄影后期怎样添加梦幻光斑 2.doc
- 《摄影后期怎样添加梦幻光斑.doc
- 2024高考物理一轮复习规范演练7共点力的平衡含解析新人教版.doc
- 高中语文第5课苏轼词两首学案3新人教版必修4.doc
- 2024_2025学年高中英语课时分层作业9Unit3LifeinthefutureSectionⅢⅣ含解析新人教版必修5.doc
- 2024_2025学年新教材高中英语模块素养检测含解析译林版必修第一册.doc
- 2024_2025学年新教材高中英语单元综合检测5含解析外研版选择性必修第一册.doc
- 2024高考政治一轮复习第1单元生活与消费第三课多彩的消费练习含解析新人教版必修1.doc
- 2024_2025学年新教材高中英语WELCOMEUNITSectionⅡReadingandThi.doc
- 2024_2025学年高中历史专题九当今世界政治格局的多极化趋势测评含解析人民版必修1.docx
- 2024高考生物一轮复习第9单元生物与环境第29讲生态系统的结构和功能教案.docx
- 2024_2025学年新教材高中英语UNIT5LANGUAGESAROUNDTHEWORLDSect.doc
最近下载
- 2023-2024学年七年级上册语文期末专项热点必刷100题专题11记叙文阅读(含答案).docx VIP
- 《隧道施工质量监理要点》.docx VIP
- 《Java语言程序设计基础教程》习题解答26752指导.doc
- 医务管理系统建设方案.doc VIP
- 小学英语二年级上册英语课件-UNIT FOUR THERE ARE MANY ANIMALS lesson 15 北京版.pptx VIP
- 苏教版数学五年级上册小数除以小数(课件).pptx
- 病房(医嘱)管理系统.doc
- 学前儿童急症救助与突发事件应对 22 模块四任务4 火灾的应急处理与预防.pptx VIP
- 光伏项目高处坠落的风险点及控制措施(A).pptx VIP
- 急性脊髓炎的护理ppt课件.pptx
文档评论(0)