我的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'
有没有人知道如何让这个工作?我得到了一个单一的价值。
提前致谢。
答案 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'