在調試Oracle一個查詢語句時出現:未明確定義列 在這種情況下有可能存在的問題不是字段重命名的問題,而是在查詢的列中有重複的列。例如:
select A.*,rownum mynum from (
select ID,NAME,AGE,SEX,ADDR,TEL,AGE from STUDENT where SEX = '1' -- 語句1
)where rownum <=20 --語句2
在這種情況下單獨執行語句1是沒有問題的,如果從外面執行語句2就會出現ORA-00918的問題,只要把重複列去掉就可以。
確實花了不少時間來處理這個問題,記下來希望有人再遇到這類問題能從這個方向考慮一下