2014-06-17 92 views
1

我有一個帶有選擇列表的表單。之前,我們只關心用戶選擇一個調查名稱,但現在我們想要在一個集合中存儲多個調查名稱。NOT IN使用頂點集合進行查詢

此外,一旦選擇了調查名稱,就不應再出現在列表中。以前的查詢如下:

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並且列表未填充。我不知道該怎麼做,或者甚至可以用集合來做這樣的查詢。每次訪問該頁面時都會創建該集合。當您離開頁面時,不希望保存這些值。

對此的任何幫助將大大appreaciated。在advace中感謝

+0

你在哪裏測試此查詢,在應用程序頁面或一個IDE像SQL Developer/TOAD?收集的內容如何填充?如果您使用 在「APEX」頁面創建報告'SELECT ac.c003 FROM apex_collections ac WHERE ac.collection_name ='BENCHMARKS'' 報告是否顯示任何數據? –

+0

另外:哪裏(哪個過程/顯示點)被填滿?從彈出的lov中選擇的值會發生什麼?該lov是否打算從同一個父頁面多次重複使用? – Tom

回答

0

請小心您的子查詢不返回任何空值。一個null將會驅動你的整個NOT IN邏輯。總是爲像這樣使用的任何子查詢添加「非空」條件是一個好習慣。

選擇ac.c003
FROM apex_collections交流
WHERE ac.collection_name = '基準' 和ac.c003 IS NOT NULL

相關問題