一个同伴伸出手,因为他只有他所拥有的提交者的员工ID,但需要能够显示每个部门提交的许多文件。我可以访问更多,但我不知道这样做。由于我无法访问他的桌子,他给了我员工ID列表。下面的查询没有给出所需的结果,但它尽可能接近我。 (他的员工ID列表也要长得多。)
select wf.department, count (empid) CT from workforce wf
where wf.empid IN('1234','1234')
group by wf.department
我希望结果如下:
Department | CT
Reporting | 2
相反,它的计数为1,因为员工ID仅在劳动力表上出现一次。有没有办法计算?即使我可以将它列在下面的员工ID旁边的部门,我也可以在Excel中放入一个表格并获得我需要的手动。
Department| Empid
Reporting | 1234
Reporting | 1234
我正在使用MSSMS。任何帮助将不胜感激!
答案 0 :(得分:1)
IN
仅进行过滤。如果要将行数相乘,请使用JOIN
:
select wf.department, count(v.empid) as CT
from (values ('1234'), ('1234')) v(empid) join
workforce wf
on wf.empid= v.empid
group by wf.department;
注意:如果值是数字,则删除单引号。尝试在比较中保持类型一致。