首页 > 解决方案 > 不同 SELECT 的两列之间的减法

问题描述

我有两个不同的 SELECT,它们的条件不同但列相同。

想象一下,我有这个:

选择

所以我想要做的是将第一个表的数量减去第二个表的数量(两个 ID 匹配且日期相差一个月)以了解它们之间的增量。

这是一个非常简单的解释,但是数据模型和提取非常困难,所以这是我能承受这个问题的唯一方法。

标签: oracleplsql

解决方案


您可以按如下方式使用左连接:

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 

推荐阅读