【发布时间】:2019-06-04 09:44:22
【问题描述】:
我在 APEX 报告(保存在名为 APR 的表中)中有一个用户生成的变量 (KEYWORDS),它允许用户输入多个(逗号分隔的)值。我想设置一个不同值的列表,这些值以前用于允许将来通过弹出式 LOV 进行选择。
我已经设法使用
创建了一个不同的列表SELECT distinct regexp_substr((select LISTAGG(KEYWORDS, ',') from APR), '[^,]+', 1, LEVEL) from dual
connect by regexp_substr((select LISTAGG(KEYWORDS, ',') from APR), '[^,]+', 1, LEVEL)
is not null
;
select LISTAGG(KEYWORDS, ',') from APR 是:'test,test,TEST2,test,TEST2,test,TEST2,test3'
而select keywords from APR 由 6 行组成:
test
test,TEST2
test,TEST2
test
TEST2
test3
我的问题是尝试在 Edit LOV 查询中实现这一点。
select (select distinct regexp_substr((select LISTAGG(KEYWORDS, ',') from APR), '[^,]+', 1, LEVEL) from dual
connect by regexp_substr((select LISTAGG(KEYWORDS, ',') from APR), '[^,]+', 1, LEVEL)
is not null) as display_value,
(select distinct regexp_substr((select LISTAGG(KEYWORDS, ',') from APR), '[^,]+', 1, LEVEL) from dual
connect by regexp_substr((select LISTAGG(KEYWORDS, ',') from APR), '[^,]+', 1, LEVEL)
is not null) as return_value
from APR
order by 1
此代码已在编辑 LOV 部分中成功验证,但弹出式 LOV 中未显示任何值。粘贴到 SQL 命令中,我收到以下错误消息:ORA-01427:单行子查询返回多于一行。
【问题讨论】:
-
display_value 和 return_value 值有什么区别
-
display_value 和 return_value 值之间没有区别 - 如果有办法简化这个/同时分配给两者,那么肯定很乐意实现(我对 sql 很陌生)。弹出的 LOV 应该显示显示值供用户选择,然后返回选择以编辑表格(即不使用标签)。
标签: sql oracle plsql oracle-apex