【问题标题】:SELECT name d , id r from ano where id != :P11_ANOIDSELECT name d , id r from an id != :P11_ANOID
【发布时间】:2021-03-19 13:33:45
【问题描述】:

我有一个带有详细区域的主区域页面。在这两个区域上,我都创建了 P11_ANOID 的页面项 (SELCT LIST) 和明细表 ANOID 中的列(选择列表)。机器人页面项目和列中使用了相同的列表,但我想从列列表中不存在的 P11_ANOID 中过滤选定的返回 ID。我使用查询来过滤列列表是

SELECT name d 
       , id r 
from ano  
where id != :P11_ANOID

但这行不通。在这种情况下,列表无法显示 where 条件?有人可以帮忙吗?

【问题讨论】:

  • 可以分享示例数据吗?
  • 如果那是一个列表变量,那么您将需要通过 apex_string.split docs.oracle.com/en/database/oracle/application-express/19.2/… 运行它以将其转换为一个集合(我不记得分隔符是什么),然后您可以使用not in (select * from table(apex_string.split(...)))
  • 主项列表和明细列的列表都是通过sql查询从同一张表中设置的。但我想过滤没有在主项目列表中选择的值的详细列列表。

标签: sql oracle select oracle-apex where-clause


【解决方案1】:

如果我理解正确,那么 P11_ANOID 选择列表项的值对于详细区域的 LoV 查询不是“可见的”。阅读:它不处于会话状态。

怎么办?将 P11_ANOID 项目的“页面选择操作”属性更改为例如提交或“重定向并设置值”。

【讨论】:

  • 主项列表和明细列的列表都是通过sql查询从同一张表中设置的。但我想过滤没有在主项目列表中选择的值的详细列列表。
  • 好的。那么,你按照我的建议做了吗?
  • 请你再次解释一下我没明白
猜你喜欢
  • 1970-01-01
  • 2014-06-17
  • 1970-01-01
  • 2017-09-27
  • 1970-01-01
  • 1970-01-01
  • 2014-01-27
  • 2014-02-14
  • 1970-01-01
相关资源
最近更新 更多