所以我有一些問題產生一個包含多個臨時表的查詢。SQL - 在SQL Developer中錯誤'ORA-00918:列模糊定義'
首先我創建了臨時表。
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:列明確定義」。我不知道我是否可以加入兩張臨時牌,特別是他們沒有任何關係。我只想查詢唯一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'語法。 –