问题描述
我有一个作为 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_supervisors
和 professor
。
通常,在设计数据模型时,我们使用外键来维护参照完整性。由于您允许同时存储 iuuid
和 prid
,因此这意味着您必须在检索数据时检查这两个表。