私はこれを前に見たことがありません...次のように始まるクエリがあります:
with q1 as
(select a.V_ID, a.D_ID, a.C_ID,
case when a.percent > 0 THEN 'Y' ELSE 'N' end L_val,
a.C_val
from ab_a_table a
where a.C_ID = '00000003' -- '00000007' -- test values
and a.B_VAL = '6010001'
and a.Q = '11234567')
select case
when ... /* rest of query omitted */
これを実行しようとすると、Oracle はtable or view does not exist
. ただし、実際のテーブル/ビュー名ではなく、3 行目
の「,」が強調表示されます。
case when a.percent > 0 THEN 'Y' ELSE 'N' end L_VAL, * 3 行目のエラー: ORA-00942: 表またはビューが存在しません
省略したクエリの残りの部分はかなり長くて複雑です。必要に応じてサニタイズして投稿します。今のところ、このエラーは を参照する 3 番目のサブクエリを追加したときにのみ発生したとだけ言っておきますq1
。実際、3 つのサブクエリのいずれかを削除すると、すべてが実行されるように見えますが (結果は正しくありません)、純粋な SQL エラーではなく、ある種の Oracle エラーに遭遇したように感じます。q1
の本体をスタンドアロンのクエリとして実行できることも興味深いです。それを実行しても問題はありません。クエリ全体を実行した場合にのみ、大文字と小文字の後のコンマについて文句を言いますq1
。
誰もこれを経験したことがありますか?
(Oracle 10g を使用)。
編集:AS
キーワードを追加してみました。結果は次のとおりです。
case when a.perc_fault > 0 THEN 'Y' ELSE 'N' end AS L_VAL, a.C_VAL * 3 行目のエラー: ORA-00942: 表またはビューが存在しません
アスタリスクが同じ位置にあるように見えますが、単語が 3 文字ずれているV
ため、 の下にあります。L_VAL
非常に奇妙な...