2016-10-06 173 views
1

我有2個表tblProjects & tblTask​​sSQL查詢GROUP BY和SUM

tblProjects已經

ID,PName columns 

tbltasks已經

ID,PID,TaskDescription,Owner,Status 

我想寫一個查詢得到一個狀態其中有多少任務處於所有項目的開啓和關閉狀態

輸出像

PName|Open|Closed 

我使用了一些子查詢和點心和GROUPBY,但並沒有如預期的輸出。

請求專家幫忙。

在此先感謝。 :)

+0

您可以包括你已經嘗試查詢? –

回答

-1
may be this one help 

SELECT t1.ID, 
     t1.PName, 
     Open=SUM(CASE (t2.Status) WHEN 'open' THEN 1 ELSE 0 END), 
     Closed=SUM(CASE (t2.Status) WHEN 'closed' THEN 1 ELSE 0 END) 
FROM tblProjects t1 
INNER JOIN tblTasks t2 
    ON t1.ID = t2.PID 
GROUP BY t1.ID, 
     t1.PName 
+0

這是我的答案的公然副本。適當降低了投票率。 –

+0

親愛的它不是我的不是你的它只是簡單的回答這個問題 –

0

我不是專家,但你可以嘗試它使用條件聚合以下簡單查詢:

SELECT t1.ID, 
     t1.PName, 
     SUM(CASE WHEN t2.Status = 'open' THEN 1 ELSE 0 END) AS Open, 
     SUM(CASE WHEN t2.Status = 'closed' THEN 1 ELSE 0 END) AS Closed 
FROM tblProjects t1 
INNER JOIN tblTasks t2 
    ON t1.ID = t2.PID 
GROUP BY t1.ID, 
     t1.PName 
+0

我正在寫相同的查詢只有我錯過的事情是案件。感謝您的幫助傢伙。 :) – gauravmajithia

+0

謝謝你的投票我這是一個便宜的東西,親愛的不是我的不是你的它只是簡單的回答這個問題 –