2010-12-15 187 views
1

我在Access中有一個查詢,並想知道是否有可能在沒有返回行時使用where not exists子句顯示每個字段的特定文本。無返回結果的訪問查詢

例子查詢:

Select Field1, Field2, Field3 
From TableA 
Where Field1 = "test"; 

如果沒有返回的結果,我想下面的返回:

Field1 = "test" 
Field2 = "not provided" 
Field2 = "not provided" 

回答

0

通常的方式做你問的是:

Select Field1, isnull(Field2, 'Not Provided'), isnull(Field3, 'Not Provided') 

編輯 誰ops,你正在使用Access,在這種情況下,等效函數是「nz」(什麼?! :P)

​​
+0

它甚至不是空,沒有行返回,YESNO? – Fionnuala 2010-12-15 15:48:12

+0

作爲一個好奇心的人,有沒有人在Access中試過這個?因爲對我而言,根本沒有行被返回。換句話說,當沒有行時,Nz不起作用。 – Fionnuala 2010-12-15 18:27:17

+0

如果表中沒有任何內容,這將不會返回任何內容。如果數據中有空字段的行,它將返回這些錯誤值。 – rrrhys 2010-12-16 04:39:59

6

如何:

SELECT Field1, Field2 
FROM Table 
WHERE ID=3 
UNION ALL SELECT DISTINCT "None","None" FROM AnyTableithAtLeastOneRow 
WHERE 3 NOT IN (SELECT ID FROM Table) 
+0

如果Table爲空,這將不返回行,不是嗎? – phoog 2010-12-15 20:49:52

+0

您可以使用任何表格,包括系統表格,這些表格保證不爲空。 – Fionnuala 2010-12-15 20:52:43

+0

我需要創建表AnyTableithAtLeastOneRow與我希望這個工作的值? – Rick 2010-12-17 12:52:41