Oracle Apex在Column中有多个值

时间:2016-10-09 17:53:47

标签: oracle oracle-apex oracle-apex-5

我的Oracle Apex页面中有一个带有逗号分隔值的文本字段(例如" F01C,F01D,G01A和#34;)。这些值仅存储在我的表的一列中(表:HC_DEFHANDBUCH_B5列DRG)。

------
PK_ID   OPS     MDC         DRG                 OPS_FILL    MDC_FILL    YEAR
214098  1-100    2          C01A, C01B, C14Z    1-100       2           2017
214099  -       15          P67D                1-100       15          2017
214100  1-204.2 15          P67D                1-204.2     15          2017
214101  1-204.3 15          P67D                1-204.3     15          2017
-------

我尝试在交互式报告中运行查询,为PK_ID' 214098'选择所有DRG。来自表HC_GDRG_FPK,每个DRG有一行:

Select * FROM HC_GDRG_FPK a
WHERE a.DRG IN (Select '(''' || REPLACE(b.DRG,', ',''', ''') || ''')' FROM HC_DEFHANDBUCH_B5 b WHERE b.PK_ID='214098')
AND a.Jahr='2017'

有没有人知道如何让这个工作?我得到了一个单一的价值。

提前致谢。

1 个答案:

答案 0 :(得分:0)

我终于可以用正则表达式来解决它了。 @Justin Cave:谢谢你的提示。

select * from HC_GDRG_FPK where DRG in (
select regexp_substr(:P39_CALL_DRGS,'[^,]+', 1, level) from HC_DEFHANDBUCH_B5
connect by regexp_substr(:P39_CALL_DRGS, '[^,]+', 1, level) is not null )
AND Jahr ='2017'