sql - (Oracle)Getting multiple column when using correlated subquery
问题描述
My(Scott) goal is to get manager's name ,salary and deptno using correlated subquery. As below, I could get expected result, but similar subquery has been used several times. Is there a another neat way(without repeated similar pattern as below)?
SELECT
O.ENAME EMP_NAME
,(SELECT DISTINCT FIRST_VALUE(I.ENAME) OVER (PARTITION BY NULL ORDER BY I.SAL DESC)
FROM SCOTT.EMP I
WHERE I.EMPNO=O.MGR --correlated to outer
) AS MGR_NAME
,(SELECT DISTINCT FIRST_VALUE(I.SAL) OVER (PARTITION BY NULL ORDER BY I.SAL DESC)
FROM SCOTT.EMP I
WHERE I.EMPNO=O.MGR --correlated to outer
) AS MGR_SAL
,(SELECT DISTINCT FIRST_VALUE(I.DEPTNO) OVER (PARTITION BY NULL ORDER BY I.SAL DESC)
FROM SCOTT.EMP I
WHERE I.EMPNO=O.MGR --correlated to outer
) AS MGR_DEPTNO
from SCOTT.EMP O;
解决方案
推荐阅读
- php - 为什么我会在 Hmailserver 中收到此消息?
- java - 创建和丢弃运行线程的 JFrame
- typescript - 如何简洁地断言对象具有特定属性?
- ios - 使用 Swift 将具有相同类型的字典分组到具有完整键和值的数组中
- javascript - 如何使用单击按钮在剪贴板中复制示例代码
- ggplot2 - 如何创建一个 R 闪亮的应用程序来获取 PCA 图
- c - 如何读取 C 中任意数量结构的输入,其中一个值是未定义长度的 char 数组?
- node.js - 如何通过仅拥有他们的标签来获得用户?(例如 xavia#3366)
- python - 我如何根据你的熊猫完成这个问题?
- mysql - 尽管数据库存在,但 MySql 中没有数据库选择错误