【发布时间】:2013-10-26 15:16:59
【问题描述】:
我正在尝试找出一个查询,该查询显示在多个部门工作的员工的数量(数量)。这里是表名和字段:
-
Employee(id_employee,employee_name,salary) -
Department(id_dept, 部门名称, 预算) -
Department_Employee(id_employee, id_dept, workhours_percentage)
假设Department_Employee表的内容是
id_employee id_dept workhours_percentage
----------- ------- --------------------
0001 03 100
0001 04 50
0001 05 60
0002 05 60
0002 09 90
0003 08 80
0004 07 80
0005 06 60
0006 05 70
0007 04 75
0008 10 95
0009 02 25
0010 01 40
使用正确的查询,结果应该是 2(员工),因为有 2 名员工在多个部门工作
- 员工0001在3个部门工作
- 员工 0002 在 2 个部门工作
我尝试了以下查询
SELECT COUNT(DISTINCT id_employee)
FROM Department_Employee
GROUP BY id_employee
HAVING COUNT(id_employee)>1
但结果不对。
请帮帮我。
谢谢。
【问题讨论】:
-
当您按
id_imployee分组时,您认为COUNT(DISTINCT id_employee)可能是什么?
标签: sql sql-server tsql