我想創建一個選擇存儲過程返回值的數量不同實例。但是,如果沒有明顯的情況下存在,它應該返回0。下面的查詢,幾乎沒有我需要的一切MySQL的SELECT與WHERE子句不包括與量的結果「0」
SELECT br.barangay,COUNT(DISTINCT cr.cr_patient_no) as `amount`
FROM barangay as br LEFT JOIN case_report_main as cr on cr.cr_barangay = br.barangay
GROUP BY br.barangay
ORDER BY br.barangay ASC
此代碼返回列「馬蘭」其中包含的位置,而「計數」列名。不過,我還需要能夠使用WHERE子句搜索它們。
WHERE cr.cr_date_onset BETWEEN '2010-01-01' AND '2014-12-12'
我需要包括該0量等的結果如下:
'NAME1'|'1'
'NAME2'|'0'
'NAME3'|'4'
'NAME4'|'0'
但是,當我添加WHERE子句,它刪除與量0
'NAME1'|'1'
'NAME3'|'4'
所有結果
有人可以爲此提供解決方案嗎?
您確定該日期範圍內有0個值嗎? – 2013-02-23 08:00:43
嘗試使用ISNULL(COUNT(*),0) – 2013-02-23 08:03:10
是的,我相信有。來自不帶where子句的版本的查詢結果看起來就像它在示例中那樣。 我給ISNULL看看 – user1849239 2013-02-23 08:10:28