sql - Oracle 嵌套查询
问题描述
有没有办法在顶部嵌套查询中提取字段而不必在下面的子查询中提取相同的字段?例如,日期字段没有在级别 2 中提取,但我在级别 3 中需要它。我只是想避免创建任何额外的视图或表来存储级别 2 数据。
SELECT PART, SUM_QTY, DATE1, DATE2 FROM - Level 3
(
SELECT PART,SUM(QTY) AS SUM_QTY FROM - Level 2
(
SELECT PART,QTY,DATE1 FROM TABLE1 - Level 1
LEFT JOIN
SELECT PART,QTY,DATE2 FROM TABLE2
)
GROUP BY PART
)
GROUP BY PART,DATE
任何帮助是极大的赞赏。谢谢
解决方案
您编写的查询无效(左连接不会那样工作)。
无论如何,您可以使用 CTE(公用表表达式),即 WITH 因式分解子句。例如:
with
level1 as
(select a.part, a.qty, a.date1, b.date2
from table1 a join table2b on a.part = b.part
),
level2 as
(select l1.part,
sum(l2.qty) sum_qty
from level1 l1
group by l1.part
)
-- level3
select l2.part, l2.sum_qty, l1.date1, l1.date2
from level2 l2 join level1 l1 on l2.part = l1.part
推荐阅读
- javascript - 如何使用 set 方法更新 Firestore 中的现有文档
- java - 使用原生Android前台服务BroadcastReceiver调用位置更新函数
- html - 我的标题不想覆盖在 div 内的图像顶部,而是将文本放在下面的 div 中
- c++ - Requires-clause 出现在模板模板参数之后:这是合法的语法吗?
- file - 尝试运行 Monogame 但它不起作用。缺少徽标和内容不起作用
- asp.net-mvc - 如何在生产中的 .NET 5 MVC 应用程序中提供 wwwroot?
- nestjs - 如何限制和跳过typeorm中的相关列
- python - NumPy/PyTorch 使用来自 argmax 调用的索引数组进行切片
- javascript - Chartjs 隐藏数据集图例 v3
- reactjs - 如何创建可以导出到 NPM 的 React Form Builder?