ORACLE SQL从2个select语句中获取两个值的差异

San*_*ath 7 sql oracle select oracle10g

我们有2个非常简单的SELECT语句:

SELECT value from table where date between DATE1 and DATE2
SELECT value from table where date between DATE3 and DATE4
Run Code Online (Sandbox Code Playgroud)

我们需要一种方法来编写单个SQL语句,它将获得从这两个SQL语句返回的"值"的差异.

我们尝试了以下但是没有成功:

SELECT value from table where date between DATE1 and DATE2
minus 
SELECT value from table where date between DATE3 and DATE4
Run Code Online (Sandbox Code Playgroud)

任何建议都非常感谢.

jsj*_*jsj 16

未经测试但应该工作:

SELECT
    (SELECT value from table where date between DATE1 and DATE2) - 
    (SELECT value from table where date between DATE3 and DATE4)
FROM dual;
Run Code Online (Sandbox Code Playgroud)

假设您SELECT value保证返回单个值