2011-05-24 62 views
3
SELECT COUNT(pkNotification) AS caseTotal 
,COUNT(fkCaseType) AS Suspected 
, COUNT(fkCaseType) AS Confirmed 
, Disease.Name 
FROM [Notification] 
INNER JOIN [Disease] ON Notification.fkDisease=Disease.pkDisease 
GROUP BY Disease.Name 

這是我的說法。但是我需要COUNT(fkCaseType)AS Suspected只有當fkCaseType = 1並且確認爲fkcaseType = 2時。對於SELECT語句中具有GROUP BY的COUNT的SQL WHERE

問題是我在哪裏做子查詢,我遇到了問題。

回答

6
COUNT(CASE WHEN fkCaseType = 1 THEN 1 END) Suspected, 
COUNT(CASE WHEN fkCaseType = 2 THEN 1 END) Confirmed 

在第一語句時fkCaseType = 1 - 然後返回1從而通過COUNT計數,NULL否則,其被跳過。對於第二個 - 同樣。