我正在用两个现有的表NSFABSTRACTS和and创建一个新表。我希望结果是word、他们的fileid和org。如果一个单词在文档中出现多次。我只想捕获它一次。我想首先获取新表中的所有单词,然后根据唯一的fileid更新单词列表。下面是我捕获所有它们的查询
之前:
FILEID WORD ORG
1 HOW OEC
1 TO OEC
1 HOW OEC
1 TO OEC
2 YOU DMS
2 YOU DMS之后:
FILEID WORD ORG
1 HOW OEC
1 TO OEC
2 YOU DMS下面是代码。
CREATE TABLE TEMP2(FILEID, WORD, ORG)AS
SELECT A.WORD, A.FILEID, B.ORG
FROM NSFABSTRACTS A JOIN AGENCIES B
ON A.FILEID=B.FILEID;
CREATE TABLE TMP(FILEID, WORD, ORG) LIKE TEMP2;
INSERT INTO TMP
SELECT DISTINCT FILEID, WORD
FROM TEMP2
GROUP BY FILEID, WORD;错误发生在第二个部分。下面是消息:Error report: SQL Error: ORA-00942: table or view does not exist 00942. 00000 - "table or view does not exist"。它指向INSERT INTO TMP。谢谢。
发布于 2014-04-09 22:53:07
你可以试试这个:
CREATE TABLE TEMP2(FILEID, WORD, ORG)AS
SELECT DISTINCT A.WORD, A.FILEID, B.ORG
FROM NSFABSTRACTS A JOIN AGENCIES B
ON A.FILEID=B.FILEID;也就是说,DISTINCT应该应用于表的每一列。
发布于 2014-04-09 22:53:24
CREATE TABLE TEMP2(FILEID, WORD, ORG)AS
INSERT TEMP2(FILEID, WORD, ORD)
SELECT DISTINCT A.WORD, A.FILEID, B.ORG
FROM NSFABSTRACTS A JOIN AGENCIES B
ON A.FILEID=B.FILEID;https://stackoverflow.com/questions/22966256
复制相似问题