2013-02-13 22 views
-1

我有一個具有引用id列的表。此引用ID列包含特定行的主鍵。現在我想從表格中過濾掉其中包含NULL的所有剩餘值。

從表中查詢NULL值 - SQL

PK REFERENCE_ID 
1  1 
2  NULL 
3  3 
4  NULL 
5  ab 

下面的查詢將所有那些已經REFERENCE_ID的結果,但我想獲取REFERENCE_ID列

select count(*)from table where table.ID not in (select table.reference_id from person) 

我已經使用也存在的所有空值但沒用。重要的是,我參考PK來搜索它,因爲我想從除列PK之外的列REFERENCE_ID中提取包括NULL值的所有值。

+0

嗯,IS NULL? http://www.techonthenet.com/oracle/isnull.php – Coffee 2013-02-13 00:04:25

+0

@Adel謝謝,但它不是我所需要的。 – 2013-02-13 01:11:07

+2

「參考PK進行搜索」是什麼意思?爲什麼它很重要? – eaolson 2013-02-13 02:07:46

回答

0

你試過:

SELECT Reference_ID 
FROM Table 
WHERE Reference_ID IS NULL; 
+0

謝謝,但重要的是,我參考PK搜索它。 – 2013-02-13 01:12:07

1

也許我還沒有你想要做什麼明確的,但它會工作,你的原始查詢的元素與IS NULL結合?

SELECT PK, Reference_ID 
FROM table 
WHERE table.Reference_ID NOT IN (select PK from table) 
    OR table.Reference_ID IS NULL 

編輯:我不知道在REFERENCE_ID字段 'AB'。如果REFERENCE_ID是一個varchar或類似的領域,你可能需要這個來代替:

SELECT PK, Reference_ID 
FROM table 
WHERE table.Reference_ID NOT IN (select cast(PK as varchar(5)) from table) 
    OR table.Reference_ID IS NULL