2016-10-06 18 views
1

SQLクエリによって、およびSUM

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

これは私の答えの露骨なコピーです。 Dulyはdownvoted。 –

+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

私の安いもの、親愛なるそれの私のものではない質問のちょうど簡単な答え –

関連する問題