如何使用 SQL 查询在 ORACLE APEX 中根据用户输入创建图表

问题描述 投票:0回答:2

我正在尝试在 Oracle Apex 中编写一个 SQL 查询来访问页面中的项目,然后根据该项目创建一个图表。在本例中,我想显示用户输入的玩家的最后 5 场比赛。

我尝试过使用

v('P2_PLAYER')
:P2_PLAYER
来访问项目值,但仍然不起作用;我的图表没有返回数据。

这是我当前正在使用的代码(当我简单地输入

PLAYER = 'Caitlin Clark'
或数据库中的任何玩家而不是
PLAYER = :P2_PLAYER
时,它就可以工作)

SQL语句

sql oracle-apex oracle-apex-23
2个回答
2
投票

P2_PLAYER
看起来像一个选择列表项。如果是这样,通常它的查询看起来像

select player_name as display_value,
       player_id   as return_value
from players
order by player_name

这意味着

  • 你在屏幕上看到的是
    Caitlin Clark
    ,但是
  • 物品真正包含的是
    7369
    (凯特琳的ID)

所以,如果当您在

where
子句中使用她的名字时,您的图形查询工作正常:

where player = :P2_PLAYER

然后

  • 修复选择列表项的查询,以便它返回玩家名称,或
  • 修改图表的查询,使其使用玩家的
    ID
    (而不是名称)

当然,由于您没有分享可能与此问题相关的信息,我所写的只是基于我们通常所做的猜测。看看是否有帮助。如果没有,请编辑问题并提供更多详细信息。


0
投票

什么是流量?如果不指定您希望页面如何工作 - 呈现什么、用户正在做什么以及预期行为是什么 - 这个问题是无法回答的。

所以我假设...页面已渲染,然后用户为 P2_PLAYER 选择一个值。在这种情况下,您将在 P2_PLAYER 上创建一个动态操作,以刷新“创建图形的区域”。确保在该区域的“要提交的项目”属性中输入 P2_PLAYER,以确保在渲染该区域时考虑项目的当前会话状态。如果这不起作用,请提供更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.