Oracle 选择列出第二个值

Oracle 选择列出第二个值,oracle,oracle-apex,lov,Oracle,Oracle Apex,Lov,当我基于SQL查询创建一个选择列表时,它需要两列。例如,我在名为LST_items的选择列表中执行了如下操作:selectitemcode,itemname from items。当我使用:LST_项调用它时,我需要检索或获取这两个值 您可以将查询编写为: select itemname display_value, itemcode || ':' || itemname return_value from items 之后,您将在:LST_ITEMS变量中获得组合值。您可

当我基于SQL查询创建一个选择列表时,它需要两列。例如,我在名为LST_items的选择列表中执行了如下操作:
selectitemcode,itemname from items
。当我使用:LST_项调用它时,我需要检索或获取这两个值

您可以将查询编写为:

select itemname display_value, 
       itemcode || ':' || itemname return_value
  from items
之后,您将在
:LST_ITEMS
变量中获得组合值。您可以在PL/SQL代码中进一步解析它。例如:

declare
   code number;
   name varchar2(100);
begin
   code = substr(:LST_ITEMS, 1, instr(:LST_ITEMS, ':') - 1);
   name = substr(:LST_ITEMS, instr(:LST_ITEMS, ':') + 1);
end;

您可以使用Javascript动态操作实现这一点,如下所示

$s('P1_Display_Val',apex.item("LST_ITEMS").displayValueFor("1"));

将项目“LST_ITEMS”(返回值=1)的显示值复制到项目“P1_display_Val”。1是否为所选值。

Apex将查询中的第一项视为显示值,将返回值视为第二项,因此您的查询应该是这样的
select itemname display_value,itemcode||':'| | itemname return_value from items
@Cristian|谢谢,我经常忘记这一点。