ORACLE SQL中基于HOME团队自动输入表格

Posted

技术标签:

【中文标题】ORACLE SQL中基于HOME团队自动输入表格【英文标题】:Automatically input form based on the HOME team in ORACLE SQL 【发布时间】:2020-05-10 14:43:19 【问题描述】:

我希望根据主队自动输入 ARENA 的形式。下面有2个表。 Game 表中的 ARENA 与 TEAM TABLE 中的 CITY 相同,可以被 HOME 队识别,反之亦然。现在我要做的是,当在表格中输入 HOME 球队时(见图),然后 ARENA 也会自动输入。我在属性编辑器的共享组件中用 SQL 代码写了代码:

select city 
from team 
where name = :P8_HOME;

]2

游戏桌

GAME_ID - NUMBER
GAME_DATE - DATE    
ARENA -VARCHAR2(20)
HOME - VARCHAR2(30)
AWAY - VARCHAR2(30)
HOME POINT - NUMBER 
AWAY POINT - NUMBER

团队表:

TEAM_ID - NUMBER    
NAME - VARCHAR2(30)   <- same to HOME and AWAY of GAME table
PREFECTURE - VARCHAR2(20)
CITY - VARCHAR2(20)    <- same to ARENA of GAME table
ADDRESS - VARCHAR2(30)  
POSTAL_CODE - VARCHAR2(10)

共享组件的值列表是: LOV_ARENA

select team_id, city 
from team
order by team_id;

【问题讨论】:

嗨啊哈,您还需要帮助吗?还是 Littlefoot 的回答有帮助? 您好,效果不好。如果您有任何想法,请帮助我 在我尝试解决方案之前,让我指出一些事情...... 1)城市和竞技场之间存在差异。一个城市可以有多个竞技场。我建议添加一个带有 CITY 列的 ARENA 表。然后您可以将 ARENA_ID 添加到 TEAM 和 GAME。如果在 GAME 上为 NULL(默认),则通过主队的 ARENA_ID 值查找。这将允许您通过在 GAME.ARENA_ID 中指定一个值来覆盖游戏所在的竞技场。您可能可以将其他与地址相关的字段移到新的 ARENA 表中。 2) GAME 表有 HOME 和 AWAY 作为 VARCHAR2s。但是,这些应该是指向 TEAM 的数字 FK,不是吗?这将消除对 TEAM.NAME “ 【参考方案1】:

如果 Arena 依赖于主队,则其 List of Values 查询应将其引用为

select team_id, city 
from team
where team_id = :P8_TEAM_ID   --> this
order by team_id;

另外,将 P8_TEAM_ID 设置为 Arena 的 parent 项目。

【讨论】:

以上是关于ORACLE SQL中基于HOME团队自动输入表格的主要内容,如果未能解决你的问题,请参考以下文章

基于oracle 的PL/SQL编程

基于oracle 的PL/SQL编程-1

想要从 ORACLE SQL 中的 2 个单独的列中为一个团队提供平均点

查询数据库中某个字段的sql语句怎么写

Oracle PL/SQL查询结果如何自动换行

Oracle PL/SQL查询结果如何自动换行