ORACLE ORA-00918:列模糊定义

时间:2014-09-04 06:38:38

标签: oracle

我有一个错误ORA-00918:列模糊定义。 该列是NARRATION,它在“view_accvoucherrep”和“view_accchequedetails”表中定义。当我在搜索选项中使用别名时,它工作正常。但不能这样写。 当我们在没有搜索条件的情况下运行,即“UPPER(NARRATION)LIKE'%CHECK'时,它工作正常并显示所有结果。

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%'
)

1 个答案:

答案 0 :(得分:0)

您不能在其中使用列别名。您必须使用表别名

在那里使用列名称
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(a.NARRATION) LIKE '%CHEQUE%'
)