如何忽略APEX报告中的非数据库列的状态

时间:2017-04-26 08:05:19

标签: oracle-apex

我创建了一个Master-Detail页面。详细信息区域是报告区域。 假设主区域记录了所生产的产品及其详细信息 假设,详细区域记录所涉及的员工列表(多行)及其详细信息 为了实现冗余,EMPNO列存在于详细信息表中,但不存在于EMP_NAME列中。 我的问题是,我想在详细区域中显示非数据库专栏EMP_NAME。 EMP_NAME根据EMPNO列值保存值(查询EMP表后)。怎么做到这一点?请帮忙。 (我使用Apex 4.2.6)

谢谢, -Anand

2 个答案:

答案 0 :(得分:0)

您可以在查询中添加标量子查询列:

select ...,
       (select emp_name from emp where emp.empno = det.empno) as emp_name
  from details det
   ...

默认情况下,APEX会将其设为“显示为文本”列。

但是如果你想让它显示新记录的新内容,那还不够。您可以改为将EMPNO列的显示为属性更改为选择列表,然后将LOV定义为

select ename, empno from emp order by ename

现在,不是键入EMPNO值并尝试将名称显示在另一列中,名称将显示在选择列表中,而不是 EMPNO。或者你可以像这样展示EMPNO:

select empno||' - '||ename as d, empno from emp order by 1

答案 1 :(得分:0)

您可以使用_NOSUBMIT修补忽略的列名称。您的查询将如下所示:

SELECT D.EMPNO
...
, EMP.EMP_NAME AS EMP_NAME_NOSUBMIT
, FROM ...

Apex将忽略nosubmit字段。