Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 包括没有计数值的组_Sql_Sql Server_Tsql - Fatal编程技术网

Sql 包括没有计数值的组

Sql 包括没有计数值的组,sql,sql-server,tsql,Sql,Sql Server,Tsql,我有以下疑问: 选择部门ID ,将(EmployeeID)计数为CountEmployee 来自人力资源部员工调动 按部门ID分组 这是我当前的输出: DepartmentID CountEmployee 1 15 2 20 我想包括没有任何员工的部门,如下所示: DepartmentID CountEmployee 1 15 2 20 3 NULL 4 NUL

我有以下疑问:

选择部门ID
,将(EmployeeID)计数为CountEmployee
来自人力资源部员工调动
按部门ID分组
这是我当前的输出:

DepartmentID CountEmployee
1            15
2            20
我想包括没有任何员工的部门,如下所示:

DepartmentID CountEmployee
1            15
2            20
3            NULL
4            NULL
大概,您有一个某种“部门”表。对于此查询,您希望从此表中获得一个
左联接

SELECT d.DepartmentID, Count(et.EmployeeID) AS CountEmployee
FROM HR.Departments d LEFT JOIN
     HR.EmployeeTransfer et
     ON d.DepartmentID = et.DepartmentID
GROUP BY d.DepartmentID;
请注意,这将返回
0
,而不是
NULL
。如果确实需要
NULL
,可以使用:

SELECT d.DepartmentID, NULLIF(Count(et.EmployeeID), 0) AS CountEmployee
大概,您有一个某种“部门”表。对于此查询,您希望从此表中获得一个
左联接

SELECT d.DepartmentID, Count(et.EmployeeID) AS CountEmployee
FROM HR.Departments d LEFT JOIN
     HR.EmployeeTransfer et
     ON d.DepartmentID = et.DepartmentID
GROUP BY d.DepartmentID;
请注意,这将返回
0
,而不是
NULL
。如果确实需要
NULL
,可以使用:

SELECT d.DepartmentID, NULLIF(Count(et.EmployeeID), 0) AS CountEmployee

您需要从“部门”表开始,然后将
左键联接到“员工”表。@Larnu如果我没有“员工”表,我如何才能做到这一点?您可能需要一个。您有
部门
表吗?你有哪些表格,有哪些架构和关系?你需要从你的部门表格开始,然后
左键连接到employees表格。@Larnu如果我没有employees表格,我该如何实现它?你可能想要一个。你有
部门
表格吗?你们有什么表格,有什么样的模式和关系?如果我没有Employee表格,我怎么能做到这一点?@MartinJames。我不知道这是如何回答你提出的问题的。如果两个表都有,那么在
EmployeeTransfer
中仍然无法包含缺少的部门。如果我没有Employee表,我如何才能做到这一点?@MartinJames。我不知道这是如何回答你提出的问题的。如果两个表都有,则仍无法在
EmployeeTransfer
中包含缺少的部门。