NOT IN使用apex集合进行查询

时间:2014-06-17 20:22:14

标签: sql collections oracle-apex

我有一个带有选择列表的表单。之前,我们只关心用户选择一个调查名称,但现在我们想要在集合中存储多个调查名称。

此外,一旦选择了调查名称,它就不应再出现在列表中。之前的查询如下:

Select survey_name, survey_id  
from SURVEYS  

简单列表。我在使用NOT IN之前编写了查询,但它们基于表格。我在创建我的LOV并整合一个集合时遇到了麻烦。我试过以下

SELECT survey_name N, survey_id S  
FROM SURVEYS  
where survey_id NOT IN (  
   SELECT ac.c003  
   FROM apex_collections ac  
   WHERE ac.collection_name = 'BENCHMARKS' )  

我正在使用弹出窗口LOV并且列表没有填充。我不知道该怎么做,或者甚至可以用集合做这样的查询。每次进入页面时都会创建该集合。当您离开页面时,不希望保存这些值。

任何有关这方面的帮助都会受到很大的影响。谢谢你的推荐

1 个答案:

答案 0 :(得分:0)

请注意,子查询不会返回任何空值。一个null将填满整个NOT IN逻辑。总是将“非空”条件添加到像这样使用的任何子查询中是一种好习惯。

SELECT ac.c003
  来自apex_collections ac
 WHERE ac.collection_name ='BENCHMARKS'    AND ac.c003 IS NOT NULL