sql - 在 SQL Server 中显示摘要结果

标签 sql sql-server sql-server-2008 sql-server-2008-r2

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

表 1:类别

Name      CatId   
 A         1   
 B         2   
 C         3   

表 2:员工详细信息

FName      Id   Dob           CatId
Pratik      1   1958-04-06      2
Praveen     3   1972-05-12      1 
Nilesh      2   1990-12-12      2

到目前为止,我已尝试通过以下方式获得所有结果:

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 

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

预期摘要输出:

Grouping           No Of Employees
 A                     1
 B                     2
 C                     0

最佳答案

我认为您可以使用LEFT JOINGROUP BYCOUNT,如下所示:

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;

关于sql - 在 SQL Server 中显示摘要结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27036880/

相关文章:

sql - 我可以为 Postgres 中的 WHERE 条件创建别名吗?

java - 在 java spring boot 中使用 Mysql 函数

sql - 每月获取一行数据,即使该月没有数据

sql-server - SQL 服务器 2005 : map Transaction_ID to @@SPID

sql-server - MS SQL Server 2008 链接服务器查询显示 "Invalid Object Name"但仍然有效

php - 如何在SQL中合并不同表的数据

sql - if column on exist with primary key 语法错误

c# - 使用 Asp.net 在数据库表中插入数据

sql - 使用sql server添加特定日期、年、月、周

asp.net - ASP.NET 或 SQL Server 2008 中的并发更新处理