2017-07-25 6 views
0

私はMS Accessでクエリを作成しようとしていますが、クエリは2つのテーブルから2つの異なるカウントの除算を行います。分母として0(ゼロ)を処理するSQL

Select Count(*)/(Select Count(*) FROM table1 where column1 = userInput) FROM table2; 

これを実行すると、「userInput」の値を入力するよう求められます。しかし時には列(column1)はその値を持たず、0を返します。これに対処する方法はありますか...たとえば、分母が0の時はいつでも分子を0にすることができます。

ありがとう!

答えて

1

あなたはNULLに値を変換することができます:

Select (Count(*)/
     (Select iif(Count(*) = 0, NULL, COUNT(*)) from table1 where column1 = userInput 
     ) 
     ) 
from table2; 
1

あなたが試みることができる:

Select 
    IIf(
     (Select Count(*) FROM table1 where column1 = userInput) = 0, 
     0, 
     Count(*)/(Select Count(*) FROM table1 where column1 = userInput)) 
From table2; 
関連する問題