我有一個錯誤的ORA-00918:列模糊定義。 該列是NARRATION,它在「view_accvoucherrep」和「view_accchequedetails」兩個表中定義。當我在搜索選項中使用別名時,它工作正常。但不能這樣寫。 當我們沒有搜索條件即運行「UPPER(旁白)LIKE‘%CHECK’它的正常工作和顯示所有的結果。ORACLE ORA-00918:列模糊定義
SELECT * FROM
(
SELECT
a.LOCATIONNAME,DEBIT,CREDIT,
a.NARRATION as NARRATION,
a.VOUCHERTYPE
from view_accvoucherrep a
left join view_accchequedetails dep_chq on dep_chq.locationcode=a.locationcode
where a.TRANYEAR='2014_2015'
and UPPER(NARRATION) LIKE '%CHEQUE%'
)
你知道答案嗎?敘述列是兩個表中。所以,當你沒有前綴的別名,如何數據庫知道該選擇哪一個? – 2014-09-04 06:40:59
這是好的,我得到了解決方案,我們可以改變連接條件,並可以選擇列,忽略accchequedetails表中的敘述庫爾 like join(從view_accchequedetails中選擇locationcode,column1,column2,......)dep_chq上dep_chq.locationcode = a.locationcode 這是工作 – Syed 2014-09-04 12:15:35