查询Oracle中的NVL错误

查询Oracle中的NVL错误,oracle,where,nvl,Oracle,Where,Nvl,在更新oracle之后,下面的查询开始返回奇怪的结果,它应该返回带有一些值的列,但返回null,在对查询进行一些微调之后,发现如果我使用t.event\u id=d.event\u id更改t.event\u id=125162查询开始像以前一样工作。有什么建议吗 SELECT LEAST ( MAX ( d.event_step - (CASE WHEN d.status IN (51, 52, 53) THEN 0 EL

在更新oracle之后,下面的查询开始返回奇怪的结果,它应该返回带有一些值的列,但返回
null
,在对查询进行一些微调之后,发现如果我使用
t.event\u id=d.event\u id
更改
t.event\u id=125162
查询开始像以前一样工作。有什么建议吗

SELECT LEAST (
          MAX (
             d.event_step
             - (CASE WHEN d.status IN (51, 52, 53) THEN 0 ELSE 2 END)),
          3)
          AS nextStep
  FROM x_events_step d
 WHERE d.event_id = 125162 AND d.state = 1
       AND d.event_step_id >
              NVL ( (SELECT MAX (t.event_step_id)
                       FROM x_events_step t
                      WHERE t.event_id = d.event_id AND t.state = 2),
                   0);

从Oracle 11.2.0.2升级到11.2.0.3后,问题得到解决。

从Oracle 11.2.0.2升级到11.2.0.3后,问题得到解决。

Oracle的哪个版本?第6行不应该是“AND d.event_step_id>=”吗?第6行可以,找到了问题的解决方案,将oracle从11.2.0.2升级到11.2.0.3已修复。您是否可以发布您的答案,然后将其作为解决方案,以防将来其他人遇到此问题?oracle的哪个版本?第6行不应该是“and d.event_step_id>=”?第6行可以,找到了问题的解决方案,将oracle从11.2.0.2升级到11.2.0.3 fixed。您能否发布您的答案,然后将其作为解决方案接受,以防将来其他人遇到此问题?