2013-02-19 119 views
1

我正在尋找一種方式來返回作爲MS Access中的SQL查詢的結果,當沒有行返回時。以下是我的查詢:對於在MS Access中使用SUM和IIF返回的沒有行返回0

SELECT SUM(IIF(TotalCount = null, 0, TotalCount)) AS MailCount FROM MailReport WHERE [SendDate]=#2/12/2013# and MailerID=1 

這裏列TotalCount是數量型和返回一些結果的查詢工作正常。但是,例如在日期2/13/2013沒有記錄的情況下,它將簡單地返回blank行,即0null之一。如何返回此行的0。

回答

2
SELECT SUM(IIF([SendDate]=#2/12/2013# AND MailerID = 1, IIF(TotalCount = null, 0, TotalCount), 0)) AS MailCount 
FROM MailReport 
+1

謝謝你真的是天才的想法。而且,這正是我所需要的。歡迎..... :) – Cyberpks 2013-02-19 06:01:17

+0

不客氣':D' – 2013-02-19 06:01:41

+3

OP使用MS Access,所以你也可以使用Nz:'SELECT Nz(SUM(IIF(TotalCount = null,0,TotalCount)), 0)'(http://office.microsoft.com/en-ie/access-help/nz-function-HA001228890.aspx) – Fionnuala 2013-02-19 12:13:21