我正在尝试加入我的两个表并创建一个新表。这两个现有的表类似于:NSFABSTRACTS(FILEID,WORD)和CLASS(WORD,ORG)。我正在尝试生成一个新表NEW(FILEID,WORD,ORG)。下面是我的代码,但它给我一个错误信息。
CREATE TABLE TEMP(FILEID, WORD, ORG) AS
SELECT NSFABSTRACTS.WORD, NSFABSTRACTS.FILEID, CLASS.ORG
FROM NSFABSTRACTS JOIN CLASS
WHERE NSFABSTRACTS.WORD=CLASS.WORD;
错误:Error report:
SQL Error: ORA-00905: missing keyword
00905. 00000 - "missing keyword"
*Cause:
。
*Action:
我还尝试在select语句之上添加parathesis,但也没有用。感谢。
答案 0 :(得分:0)
你需要在“加入”中使用“on”:
CREATE TABLE TEMP(FILEID, WORD, ORG) AS
SELECT NSFABSTRACTS.WORD, NSFABSTRACTS.FILEID, CLASS.ORG
FROM NSFABSTRACTS
JOIN CLASS ON NSFABSTRACTS.WORD=CLASS.WORD
人们有时使用隐式连接语法,例如
CREATE TABLE TEMP(FILEID, WORD, ORG) AS
SELECT NSFABSTRACTS.WORD, NSFABSTRACTS.FILEID, CLASS.ORG
FROM NSFABSTRACTS, CLASS
WHERE NSFABSTRACTS.WORD=CLASS.WORD
但不建议用于现代SQL。你把这两种形式混为一谈。