無效的標識符我有查詢,如:ORA 00904與左/右外連接
SELECT *
FROM table1 LEFT OUTER JOIN table2
ON table1.id=table2.c_id
它給了我一個錯誤
ORA-00904 「table2.c_id」 無效的標識符
事情是這個查詢與FULL OUTER JOIN和INNER JOIN一起工作 - 沒有錯誤。即使這一個工程:
SELECT *
FROM table1, table2
WHERE table1.id=table2.c_id(+)
錯誤只發生在右或左外部聯接,只有在測試數據庫。
這兩個表都是分區。
生產dB,其中查詢運行完美 - Oracle數據庫11g企業版發佈11.2.0.3.0 - 64位生產
測試數據庫,其中查詢失敗 - Oracle數據庫11g企業版發佈11.2.0.4.0 - 64位生產
這兩個db上的表的配置是相同的。
任何建議可能是什麼?
我沒有你的表來測試。請發佈創建表併爲示例數據插入語句。或者,創建一個SQL小提琴併發佈一個鏈接 –
您是否嘗試過使用別名爲table1和table2,即'select * from table1 t1 left external join table2 t2 on t1.id = t2.c_id'?是否有數據庫鏈接? (當涉及數據庫鏈接時,Oracle有很長的斷開ANSI連接的歷史) –
@FrankSchmitt是的,我使用了別名 - 沒有成功。不確定數據庫鏈接,將檢查 – Tatiana