【发布时间】:2016-05-18 15:44:53
【问题描述】:
所以我在生成包含多个临时表的查询时遇到了一些问题。
首先我创建了临时表。
CREATE GLOBAL TEMPORARY TABLE DIDV (DID VARCHAR(50))
INSERT INTO DIDV VALUES ('8090630909077434001');
INSERT INTO DIDV VALUES ('7471990179373590001');
INSERT INTO DIDV VALUES ('7605256906013877001');
INSERT INTO DIDV VALUES ('1604387368720407001');
INSERT INTO DIDV VALUES ('3512739534818409001');
CREATE GLOBAL TEMPORARY TABLE KEYW (KEW VARCHAR(50))
INSERT INTO KEYW VALUES ('%Corporate Insurance Pol%');
INSERT INTO KEYW VALUES ('%Tax Return%');
INSERT INTO KEYW VALUES ('%Audit%');
INSERT INTO KEYW VALUES ('%Corporate Governance%');
INSERT INTO KEYW VALUES ('%Board%');
INSERT INTO KEYW VALUES ('%Shareholder%');
然后我编写查询如下。这似乎是一个简单的查询。但是,我收到错误“ORA-00918:列不明确定义”。我不知道我是否可以对 2 个临时表进行连接,尤其是它们没有任何关系。我只想查询唯一 id 在 DIDV 表中的位置以及标题和评论列不包含 KEW 字段的结果。
SELECT TO_CHAR(DID) DID, TO_CHAR(DROOTPARENTID) PARENTID, DBARCODE,
DDOCTITLE, XCOMMENTS, XDIVISION, DEXTOBJECTTYPE
FROM PSA.URM_EXTITEMS_PSA, DIDV, KEYW
WHERE PSA.URM_EXTITEMS_PSA.DID = DIDV.DID
AND PSA.URM_EXTITEMS_PSA.DDOCTITLE NOT LIKE KEYW.KEW
AND PSA.URM_EXTITEMS_PSA.XCOMMENTS NOT LIKE KEYW.KEW;
感谢任何帮助理解这一点。
如果需要任何澄清,请告诉我。
【问题讨论】:
-
DID在选择列表中需要一个表别名。另外,学习使用正确的显式JOIN语法。
标签: sql oracle oracle-sqldeveloper temp-tables