我需要獲取屬於系統中每個項目內用戶的任務數量。該表是:SQL:統計每個項目中屬於某個用戶的所有任務
項目: ID,名稱
任務: ID,專案編號,受讓人(用戶)
現在我在做這個查詢:
SELECT Projects.ID, Projects.Name, COUNT(*)
FROM Tasks JOIN Projects ON Tasks.ProjectID = Projects.ID
WHERE Assignee=1 GROUP BY Projects.ID;
這隻能部分工作。 IT將返回任務數量,但僅限於爲任務分配給用戶的項目。我希望查詢返回系統中的所有項目,即使未分配任何任務。
我該怎麼做?
謝謝!
問候,此查詢不起作用。對於根本沒有任務的項目,它會返回1。 – SrgHartman 2013-04-10 12:14:01
哎呀對不起,應該是'COUNT(Tasks.ProjectID)'。請再試一次。 – 2013-04-10 12:14:47
我試圖通過添加另一個左連接子句來解決問題,但它不起作用: SELECT Projects.ID,Projects.Name,COUNT(Tasks.ProjectID),COUNT(Issues.ProjectID)FROM Projects 左加入任務在Tasks.ProjectID = Projects.ID和Tasks.Assignee = 1 LEFT JOIN Issues on Issues.ProjectID = Projects.ID and Issues.Assignee = 1 GROUP BY Projects.ID; 任何想法爲什麼?謝謝! – SrgHartman 2013-04-10 13:10:46