0

我有以下查询:

SELECT count(*)
FROM table1 ACTUAL, table1 ANTERIOR
ACTUAL.fecha=to_date(20180102,'YYYYMMDD') AND ANTERIOR.fecha=to_date(20180101,'YYYYMMDD')
WHERE ACTUAL.CONTRATO=ANTERIOR.CONTRATO 
AND ACTUAL.SECCION=ANTERIOR.SECCION
AND (
       ACTUAL.CD_EMPR_COM<>ANT.CD_EMPR_COM
       OR NVL(ACTUAL.FH_BAJA_CRTO,'9999-01-01')<>NVL(ANTERIOR.FH_BAJA_CRTO,'9999-01-01')


OR NVL(ACTUAL.POWER,0)<>NVL(ANTERIOR.POWER_1,0)

--ERROR, THE NUMBER RESULTANT NOT IS CORRECT

-OR NVL(ACTUAL.POWER,-9)<>NVL(ANTERIOR.POWER,-9)
)

如果我应用过滤器NVL (ACTUAL.POWER, 0),结果是正确的,但如果我应用过滤器NVL (ACTUAL.POWER, 1)NVL (ACTUAL.POWER, -9)查询的结果不正确。

4

0 回答 0