oracle - 不同 SELECT 的两列之间的减法
问题描述
我有两个不同的 SELECT,它们的条件不同但列相同。
想象一下,我有这个:
所以我想要做的是将第一个表的数量减去第二个表的数量(两个 ID 匹配且日期相差一个月)以了解它们之间的增量。
这是一个非常简单的解释,但是数据模型和提取非常困难,所以这是我能承受这个问题的唯一方法。
解决方案
您可以按如下方式使用左连接:
select s1.id, s1.date d1, s2.date d2, s1.value - s2.value as delta
from subquery1 s1
left join subquery2 s2
on s1.id = s2.id
and add_months(s1.date,-1) = s2.date
推荐阅读
- r - 按组绘制多个变量 [r]
- matlab - 生成和绘制具有不同位置和宽度的 bsplines 矩阵
- python - 无法找到保存的图像
- c++ - 将地址作为函数c ++中的参数
- javascript - JSDoc + IDE 与 TypeScript
- flutter - 如何在 Flutter 中使用 fl_chart 在折线图中水平滚动?
- algorithm - 寻找权重为 k 的生成树的算法
- python - 使用 fpdf 将 jpg 添加到 pdf
- javascript - 在拖动另一个元素之前,可拖动的将不起作用
- visual-studio-code - 为什么 VSCode 没有给我任何建议?