oracle 中8表子查询:
select mpp.prosmname,max(mpp.modulename),max(mpp.plantime),max(mpp.ctaskbd),max(mpp.maxEdate),max(mpp.examdetail) from (
select
(select (select op.prosmname from oaproject op where op.proid=mo.proid) from oaprojectmodule mo where mo.moduleid=mp.moduleid) prosmname,
(select mo.modulename from oaprojectmodule mo where mo.moduleid=mp.moduleid) modulename,
(select c.bmname from code_pub c where c.id=mp.plantypeid) bmname,
mp.plantime plantime,
(select dis.ctaskbd from wpl_plandist dis where dis.dealman='000000000000038' and dis.pdid=mp.pdid) ctaskbd,
(select (select max(to_char(repday,'yyyy-mm-dd HH24:mi:ss')) from wpl_process where distid=di.distid) from wpl_plandist di where di.dealman='000000000000038' and di.pdid=mp.pdid) maxEdate,
(select (select ex.examdetail from wpl_detailexam ex where ex.distid=di.distid) from wpl_plandist di where di.dealman='000000000000038' and di.pdid=mp.pdid) examdetail
from (select d.pdid,d.moduleid,d.plantypeid,d.plantime from wpl_detail d
where d.pdid in(select dis.pdid from wpl_plandist dis where dis.dealman='000000000000038'))mp
) mpp
group by mpp.prosmname
;
已解决,但有个缺点就是:dis.dealman='000000000000038' 这句写了3遍。是否有更优办法?
分享到:
相关推荐
开发者可以使用其他查询方式,例如使用子查询或 EXISTS 语句来替代多表连接查询。 6. 优化数据统计 数据统计是数据库性能的关键。开发者可以使用不同的统计方法,例如使用索引、分区表、物化视图等来提高数据统计...
- **多表关联查询**:虽然JOIN可以实现多表关联查询,但在某些情况下,使用子查询会更加灵活和简洁。 #### 二、子查询的种类 子查询主要分为两大类:单行子查询和多行子查询。 ##### 单行子查询 单行子查询是指...
oracle笔记子查询,有子查询相关的知识点笔记和具体的案例代码!
oracle笔记高级子查询,oracle中的高级子查询有点难度,不太好理解,有具体的案例代码!
oracle select group 子查询 表连接
本文将详细介绍 Oracle SQL 语句多表关联查询的知识点,包括字符串和数字的比较、分组查询、HAVING 子句、查询顺序、Oracle 中的伪列、子查询和表连接等。 一、字符串和数字的比较 在 Oracle 中,字符串和数字可以...
复杂相关子查询 动画版
Oracle子查询是构建复杂查询的基石,通过合理利用单行或多行子查询,结合`IN`、`ANY`、`SOME`、`ALL`、`EXISTS`等关键字,可以极大地提高查询的灵活性和效率。理解并熟练掌握子查询的使用,对于提升数据库操作技能和...
oracle sql 多表连接和子查询 oracle sql 多表连接和子查询
ORACLE子查询
在数据库操作中,连接查询用于合并两个或更多表的数据,根据它们之间的关联来获取所需的结果。主要有内连接(INNER JOIN)、外连接(LEFT JOIN、RIGHT JOIN、FULL JOIN)和自连接等类型。内连接返回两个表中匹配的行...
在学习Oracle子查询时,学员需要通过实践来熟悉不同场景下子查询的使用方法,掌握其返回的数据类型,以及如何在WHERE、HAVING、FROM子句中嵌入子查询,解决实际问题。同时,理解子查询返回空值对主查询的影响,以及...
### Oracle经典教程3——子查询和常用函数 #### 子查询概述 子查询是指在一个查询语句中嵌套另一个查询语句,内层查询的结果通常作为外层查询的一个条件或参数。子查询能够帮助我们更灵活地处理复杂的数据查询需求...
本篇将深入探讨Oracle中的多表查询技术,包括基本概念、联接类型、子查询以及高级查询技巧。 一、基本概念 1. 表关系:在数据库设计中,表与表之间可能存在一对一、一对多、多对多的关系。这些关系决定了我们需要...
Oracle数据库中的多表连接是数据库...通过这些练习,我们能够掌握Oracle中的多表连接、子查询、聚合函数如`COUNT()`和`AVG()`,以及时间比较和条件过滤等高级查询技术。这些技能对于理解和处理复杂数据库查询至关重要。
Oracle子查询的语法结构如下: ```sql SELECT [DISTINCT] * | 列名 1 [别名 1], 列名 2 [别名 2]… FROM 表名, (SELECT [DISTINCT] * | 列名 1 [别名 1], 列名 2 [别名 2]… FROM 表名 [WHERE 条件] [GROUP BY...
本压缩包“ORACLE-select-query.rar”专注于讲解Oracle数据库中的查询技术,特别是多表查询、子查询以及高级子查询。下面将详细探讨这些关键知识点。 首先,基础查询SQL语句是所有数据库操作的基础,它涵盖了SELECT...
子查询的类型多种多样,根据返回的结果集不同,可以分为单行子查询(返回一行一列或一行多列)、多行子查询(返回多行一列)以及集合子查询(返回多行多列)。在HAVING子句中,子查询通常用于与聚合函数结合,过滤...
- 分解复合子查询:大型子查询可以分解成多个小的子查询,分别处理,然后组合结果。 6. **案例分析**: - 查找销售最高和最低的产品:通过子查询找出销售额最高的产品ID,再在外层查询中找出该ID对应的产品详情。...