こんにちは私は、私たちのデータブロックの基準に基づいて選択を試みています。彼らは、すべての選択肢の選択肢を持っており、私はそれがうまく動作するか、または動作するのに問題があります。私は今それを持ってどのようにOracle Where節を等価または値で改善する
はこれですが、それは本当に不格好ようだと、私は時々、それはいくつかの値
where SLRRDEF_RDEF_CODE = (select CASE
WHEN :parm_dd_rdef.RDEF_DESC like '-All-' Then 'A100'
WHEN :parm_dd_rdef.RDEF_DESC like '-All-' Then 'A110'
WHEN :parm_dd_rdef.RDEF_DESC like '-All-' Then 'B100'
WHEN :parm_dd_rdef.RDEF_DESC like '-All-' Then 'B110'
WHEN :parm_dd_rdef.RDEF_DESC like '-All-' Then 'B120'
WHEN :parm_dd_rdef.RDEF_DESC like '-All-' Then 'B130'
WHEN :parm_dd_rdef.RDEF_DESC like '-All-' Then 'W110'
WHEN :parm_dd_rdef.RDEF_DESC like '-All-' Then 'W590'
ELSE :parm_dd_rdef.RDEF_CODE
END from dual
を拾うdoesntのだと思う私はこのような効率的なのために何かを試してみたいが、私は行方不明取得を取得します括弧/キーワードのエラーと私はそれと何か関係があるとは思わない。
where (CASE
WHEN :parm_dd_rdef.RDEF_DESC like '-All-' THEN SLRRDEF_RDEF_CODE in ('A100','A110','B100','B110','B120','B130','W110','W590')
WHEN :parm_dd_rdef.RDEF_DESC not like '-All-' THEN SLRRDEF_RDEF_CODE = :parm_dd_rdef.RDEF_CODE
END)
AND
where SLRRDEF_RDEF_CODE in (CASE WHEN :parm_dd_rdef.RDEF_DESC like '-All-'
THEN ('A100','A110','B100','B110','B120','B130','W110','W590')
ELSE :parm_dd_rdef.RDEF_CODE)
。完全なSQLスクリプトを共有する心ですか? – Twelfth
残念ながら、私は基本的にこのことを一度に少し書き直し、ユーザーが最初に望んでいるものを改善しようとしているので、これはすべてのコード選択または個々の選択 –