17
我是全新的Oracle世界,因此这可能是垒球。在处理SSRS报告时,我将一串状态传递给一个视图。扭曲的是,用户也可以从状态列表中选择一个名为“[没有选择]”的选择......(这部分不是在做,我坚持以这种方式实施)有条件的WHERE子句与Oracle中的CASE语句
如果他们选择没有选择选项,那么我只是想要默认返回所有的状态,否则返回在我的逗号分隔列表中的状态列表。
这真的看起来应该很容易,但我卡住了。这是我迄今为止的代码(只是为了获得一个样本来工作),但我的眼睛终于消失了,试图去实现它。
请问有人能给我这个指示吗?
begin :stateCode:='MO,FL,TX'; --:stateCode:='[ No Selection ]'; end; / select count(*) as StateCount, :stateCode as SelectedVal from hcp_state vw where (case when (:stateCode = '') then (1) when (:stateCode != '') then (vw.state_cd in (:stateCode)) (else 0) end) ;
'(否则0)'不应该有括号。 – zygimantus
@zygimantus。 。 。谢谢。它真的好奇,没有编辑历史,因为代码的格式与我通常的缩进风格截然不同。现在全部修好了。 –