Oracle APEX 在 LoV 中返回多个值

问题描述

我有一个作为 PopUp lov 的字段和一个带有相应代码的共享组件作为源。

    `SELECT u.Lastname || ',' || u.Firstname AS displayed,i.IUUID
from INTERNAL_SUPERVISORS i
    left outer join USERS u on i.UUID=u.UUID
   
     union
SELECT u2.Lastname || ',' || u2.Firstname AS displayed,p.PRID
    FROM PROFESSOR p
    left outer join USERS u2 on p.UUID=u2.UUID `

这是我在 lov 中的列映射:

我希望可以从一个或另一个表中选择一个人,并根据选择给出不同的 ID 作为返回值。

通过此实现,可以从两个表中查看和选择人员,但是当我保存表单时,我无法从教授表中看到用户,而只能从另一个表中看到该人。 是因为列映射中的返回值吗? 如果是这样,是否可以选择两个可能的返回值?

解决方法

我无法从教授表中看到用户

我想说这取决于您如何看待它。如果表中的数据(您用于存储从该 LoV 中选择的值)对应于两个表,那么 - 在查看数据时 - 您必须将其连接到其他两个表 - internal_supervisorsprofessor

通常,在设计数据模型时,我们使用外键来维护参照完整性。由于您允许同时存储 iuuidprid,因此这意味着您必须在检索数据时检查这两个表。