select * from USER_SCHEDULER_JOB_RUN_DETAILS
where substr(log_date,1,9) in (
select substr(log_date,1,9)
from USER_SCHEDULER_JOB_RUN_DETAILS
where rownum <= 1 ORDER BY LOG_DATE DESC);
当我执行上述查询时,我收到以下错误。
ORA-00907: missing right parenthesis
00907. 00000 - "missing right parenthesis"
*Cause:
*Action:
Error at Line: 7 Column: 55
我尝试执行它正在执行的内部查询,但不确定为什么它在执行整个查询时给我错误。
答案 0 :(得分:1)
不要在内部查询中使用order by。 试试这个:
select * from USER_SCHEDULER_JOB_RUN_DETAILS
where substr(log_date,1,9) in
(select substr(log_date,1,9) from USER_SCHEDULER_JOB_RUN_DETAILS where rownum <= 1 );
答案 1 :(得分:0)
括号中包含额外信息。 ORA-00907
您可以将此查询用作期望
select *
from USER_SCHEDULER_JOB_RUN_DETAILS
where substr(log_date, 1, 9) in
(select MAX(substr(log_date, 1, 9)) over(ORDER BY LOG_DATE desc)
from USER_SCHEDULER_JOB_RUN_DETAILS
where rownum <= 1);