标题:Oracle语句查询 描述:本文将深入探讨Oracle数据库中的SQL查询语句,特别是针对报表数据处理的一些高级技巧和示例。通过分析特定的SQL语句,我们将了解如何使用Oracle特有的函数和语法来实现复杂的数据汇总、分组以及聚合功能。 ### 一、Oracle报表查询SQL语句详解 #### 1. 使用`LEAD`函数进行数据预览 在给定的部分内容中,可以看到使用了`LEAD`函数。`LEAD`函数是Oracle数据库中的一个窗口函数,用于访问当前行之后的行。在下面的示例中: ```sql Select LEAD(m.app_no,(Select Count(1) From app_mtfeature Where app_no='04')-1,'') over (OrderBy m.app_no) appno, m.feature_seq||'' feature_seq, m.month||'' month, m.pointfee, m.discount From app_mtfeature m Where m.app_no='04' ``` 这里,`LEAD`函数被用来获取下一个应用编号(`app_no`),并且在没有下一个值时返回空字符串。这种用法常用于报表中,当需要显示当前记录和下一条记录的信息时非常有用。 #### 2. 数据汇总与分组 接下来的部分展示了如何使用`UNION ALL`结合`SUM`函数来实现数据的汇总: ```sql Select '','合计','', Sum(pointfee), Sum(discount) From app_mtfeature Where app_no='04' ``` 这段代码对`pointfee`和`discount`列进行了求和,同时为其他列提供了一个汇总行标识。`UNION ALL`用于组合多个查询结果集,这里它将每个应用编号(`app_no`)的明细数据与它们各自的汇总行合并在一起,从而在一个结果集中展示明细和汇总信息。 ### 二、Oracle报表查询的高级技巧 除了基础的SQL语句外,我们还可以看到一些更复杂的查询技巧,如根据报表文件名称关键字查找报表的执行文件名称等信息: ```sql SELECT A.USER_CONCURRENT_PROGRAM_NAME, A.CONCURRENT_PROGRAM_NAME, A.OUTPUT_FILE_TYPE, B.EXECUTION_FILE_NAME, B.EXECUTABLE_NAME, FND_L.MEANING, B.USER_EXECUTABLE_NAME, B.DESCRIPTION FROM FND_CONCURRENT_PROGRAMS_VLA, fnd_executables_vlB, FND_LOOKUPS FND_L WHERE A.APPLICATION_ID=B.APPLICATION_ID AND A.EXECUTABLE_ID=B.EXECUTABLE_ID AND B.EXECUTION_METHOD_CODE=FND_L.LOOKUP_CODE(+) AND FND_L.LOOKUP_TYPE='CP_EXECUTION_METHOD_CODE' AND A.USER_CONCURRENT_PROGRAM_NAME LIKE 'C%杂项出入库报表%' ``` 这个查询涉及到了多个表的连接,并使用了`LIKE`操作符进行模糊匹配,以找到包含特定关键字的报表执行文件信息。这种类型的查询在实际工作中非常常见,特别是在大型企业级系统中,需要从海量数据中快速定位到特定的报表或程序。 ### 三、报表职责与权限查询 给定的内容还展示了如何查询报表的职责归属和权限设置,例如查找在菜单中提交的报表所在职责: ```sql SELECT A.RESPONSIBILITY_NAME, B.PROMPT, F.USER_CONCURRENT_PROGRAM_NAME FROM FND_RESPONSIBILITY_VLA, FND_MENU_ENTRIES_VLB, FND_FORM_FUNCTIONS_VLC, FND_REQUEST_GROUPSD, FND_REQUEST_GROUP_UNITSE, FND_CONCURRENT_PROGRAMS_VLF WHERE A.APPLICATION_ID=D.APPLICATION_ID AND A.REQUEST_GROUP_ID=D.REQUEST_GROUP_ID AND B.APPLICATION_ID=D.UNIT_APPLICATION_ID AND B.CONCURRENT_PROGRAM_ID=E.REQUEST_UNIT_ID AND B.USER_CONCURRENT_PROGRAM_NAME LIKE '%杂项出入库报表%' AND E.APPLICATION_ID=F.APPLICATION_ID AND E.CONCURRENT_PROGRAM_ID=F.CONCURRENT_PROGRAM_ID ``` 通过连接多个表,可以获取关于报表在系统中不同职责下的可见性和可执行性的详细信息。这在管理用户权限和报表访问控制时非常重要。 ### 结论 Oracle数据库提供了丰富的SQL功能和工具,使得在报表查询和数据分析方面能够实现高效和灵活的操作。通过理解并熟练掌握这些SQL语句和技术,数据分析师和数据库管理员可以更有效地管理和优化企业数据,支持决策制定和业务运营。

















- 粉丝: 0
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 管理会计形考第二次作业电大网络考试答案.doc
- CAD考试试题库及参考答案(1).doc
- 完整版MySQL数据库-教学大纲(1).doc
- S7-200 PLC与组态王在室内游泳池水处理控制系统中的应用详解
- 嵌入式智能家居控制系统软件设计样本(1).doc
- 软件工程质量管理体系说明参考样式(1).doc
- photoshop选区与填色-PPT(1).ppt
- 资料python二级模拟卷4word程序填空阅读填空程序试题(1).doc
- 《神奇的水小学科学教学互联网的应用执教者连云港韩冬》(1).doc
- 汽轮机设备及系统安全运行常识.doc
- 2022年智慧校园就业信息化建设方案(1).ppt
- 电子商务物流管理概述ppt53页(1).pptx
- 第八章-细胞通信-PPT(1).pptx
- 企业大数据解决方案v10242(1).pptx
- 基于Java语言的物流信息系统的设计与实现样本(1).doc
- 哪些软件可以制作证件照呢------(1).pdf


