私はこのSQLを使用しています:
SELECT sys_tbldef_desc as tbldef_desc
FROM sys_tbldef
WHERE UPPER(tbldef_desc) = UPPER('a tbldef desc')
そして、私はこのエラーを受け取ります:
Error at line 1 - Dynamic SQL Error
SQL error code = -206
Column unknown
TBLDEF_DESC
誰かが解決策を知っていますか?
ALIASonWHERE句は使用できません。操作の SQL 順序は次のとおりです。
句は、句WHEREの前に最初に実行されSELECTます。代わりに列名を使用する必要があります。例えば:
SELECT sys_tbldef_desc as tbldef_desc
FROM sys_tbldef
WHERE UPPER(sys_tbldef_desc) = UPPER('a tbldef desc')
本当に を使用したい場合ALIASは、サブクエリが必要です。例:
SELECT tbldef_desc
FROM
(
SELECT sys_tbldef_desc as tbldef_desc
FROM sys_tbldef
) a
WHERE UPPER(tbldef_desc) = UPPER('a tbldef desc')
しかし、私は最初のものを好みます。
WHERE 句でエイリアス名を使用することはできません。クエリは次のようにする必要があります。
SELECT sys_tbldef_desc as tbldef_desc
FROM sys_tbldef
WHERE UPPER(sys_tbldef_desc) = UPPER('a tbldef desc')
私は解決策を見つけました:
SELECT *
FROM sys_tbldef
where UPPER(case when sys_tbldef_trnslt_desc is null
then sys_tbldef_desc else sys_tbldef_trnslt_desc end) = UPPER('a table desc')