2014-09-10 43 views
-1

選取列我試圖做的事:在不爲空數組

SELECT * 
FROM table 
WHERE column IN (SELECT col FROM table2 WHERE col2 = value) 

但我要檢查,如果第二個請求不返回空數組。

這怎麼可能?

在此先感謝

+0

您能否提供帶有預期結果的樣本數據?你是什​​麼意思檢查一個空數組,沒有記錄存在於子查詢中?如果子查詢沒有結果,該怎麼辦? – sgeddes 2014-09-10 14:25:02

+1

請提供樣本數據和期望的結果。你的問題不清楚。 – 2014-09-10 14:25:11

回答

0

只需在子查詢中添加NOT NULL檢查省略返回空值。

SELECT * FROM table WHERE column IN 
(SELECT col FROM table2 WHERE col2 = value AND col IS NOT NULL); 
+0

這將只從col2中省略NULLL,不會省略col中的NULL,這正是我認爲他想要的。 – Jayachandran 2014-09-10 14:29:31

+0

@Jayachandran:你說得對。更新了查詢。謝謝! – CodeNewbie 2014-09-10 14:30:50