在SQL Server中显示摘要结果

Nil*_*are 5 sql sql-server sql-server-2008 sql-server-2008-r2

我有以下表格结构也提到我的预期输出请帮我查询,因为我不太了解SQL查询

表1:类别

Name      CatId   
 A         1   
 B         2   
 C         3   
Run Code Online (Sandbox Code Playgroud)

表2:Emp详细信息

FName      Id   Dob           CatId
Pratik      1   1958-04-06      2
Praveen     3   1972-05-12      1 
Nilesh      2   1990-12-12      2
Run Code Online (Sandbox Code Playgroud)

到目前为止,我试图获得所有结果:

SELECT A.Code,A.EmpName,A.DOB,B.cname 
FROM EMPMASTER A
JOIN CATMASTER B ON A.cCode = B.ccode AND A.Compcode = B.CompCode
WHERE A.compcode = 'C0001' AND  month(A.DOB) >= 1 
      AND MONTH(A.DOB) <= 12  AND A.termflag='L' 
ORDER BY  A.DOB 
Run Code Online (Sandbox Code Playgroud)

但我的问题是,我还希望显示摘要结果

预期摘要输出:

Grouping           No Of Employees
 A                     1
 B                     2
 C                     0
Run Code Online (Sandbox Code Playgroud)

Gar*_*thD 8

我想你可以使用LEFT JOIN,GROUP BY并且COUNT如下:

SELECT  [Grouping] = c.Name,
        [No Of Employees] = COUNT(e.ID)
FROM    Category AS c
        LEFT JOIN EmpDetails AS e
            ON e.CatId = c.CatId   
GROUP BY c.Name;
Run Code Online (Sandbox Code Playgroud)