0

我无法弄清楚以下代码的语法问题。当我运行它时,我得到了错误

ORA-00907: 缺少右括号

谁能指出我的缺点?

CREATE OR REPLACE VIEW LATESTAPPLICATIONS AS 
SELECT *
FROM application_history
WHERE entry_time IN
    (SELECT entry_time
    FROM application_history
    GROUP BY application_number; )
ORDER BY entry_number;​

这是 的表定义application_history。理想情况下,我只想查看带有最新时间戳的应用程序编号。

 CREATE TABLE  "APPLICATION_HISTORY" 
   (    "ENTRY_NUMBER" NUMBER(28,0), 
"APPLICATION_NUMBER" NUMBER(16,0) CONSTRAINT "APP_NUM_NN" NOT NULL ENABLE, 
"ACTIVE" CHAR(1) DEFAULT 0 CONSTRAINT "ACTIVE_NN" NOT NULL ENABLE, 
"STATUS" VARCHAR2(40) DEFAULT 'APPLICATION ENTERED' CONSTRAINT "STATUS_NN" NOT NULL ENABLE, 
"DATE_APPROVED" DATE, 
"DATE_APPLIED" DATE DEFAULT SYSDATE CONSTRAINT "DATE_APPLIED_NN" NOT NULL ENABLE, 
"ENTRY_TIME" TIMESTAMP (6) DEFAULT SYSDATE, 
 CONSTRAINT "ENTRY_NUM_PK" PRIMARY KEY ("ENTRY_NUMBER")
USING INDEX  ENABLE
 )
4

1 回答 1

2

最后一行有一个分号,但只有 1 行。GROUP BY application_number; )删除它,你应该没问题。

分号在 Oracle 中充当查询终止符,因为您将它放在 ) Oracle 找不到它之前。

于 2014-12-10T21:59:53.753 回答