2010-12-15 17 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') 

編集 whoあなたはAccessを使用しています。その場合、同等の機能は「nz」です(何ですか? :P)

についてどう ​​
+0

、行が戻されなかった、はいいいえ? – Fionnuala

+0

好奇心の怪しさとして、誰もがアクセスでこれを試しましたか?私にとって、行はまったく返されないからです。言い換えれば、行がないときにNzは役に立ちません。 – Fionnuala

+0

テーブルに何もない場合、これは何も返しません。空のフィールドを持つ行にデータがある場合、これらのエラー値が返されます。 – rrrhys

6

:それもnullでない

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

これは、テーブルが空の場合は行を返しません。 – phoog

+0

システム・テーブルを含む、空でないことが保証されているテーブルを使用できます。 – Fionnuala

+0

テーブルがAnyTableithAtLeastOneRowテーブルを作成する必要がありますか? – Rick