回答

收藏

如何显示每个部门的参与率?

技术问答 技术问答 172 人阅读 | 0 人回复 | 2023-09-12

我有以下数据库设计:
' N; W6 r$ V- Z8 nEmployees Table: EmployeeID,Name,OrgCodeDepartments Table: OrgCode,DepatNameCompleteSurvey Table: ID,ParticipantID而且我需要开发一张表,该表显示每个部门的员工总数,以及每个部门中完成调查的参与者总数。然后,我想显示每个部门的参与百分比,该百分比主要等于参与者总数/员工总数。+ C+ m% Q+ G0 Z# Q' |1 Q
我提出了以下两个查询,但我必须提出一个查询来满足上述要求,那该怎么办呢?+ F6 K% C' K- J" z/ m3 G
各部门员工总数:7 x6 X, o7 j% e+ H5 k' S5 y
SELECT COUNT(DISTINCT dbo.Employees.EmployeeID) AS [Total Number of Employees],       dbo.Departments.DepartmentNameFROM dbo.Departments INNER JOIN dbo.Employees ON dbo.Departments.OrgCode = dbo.Employees.OrgCodeGROUP BY dbo.Departments.DepartmentName各部门参与者总数:# y$ a, `8 Q1 u+ d) O) k, B
    SELECT COUNT(DISTINCT dbo.Employees.EmployeeID) AS [Total Number of Employees], dbo.Departments.DepartmentName FROM dbo.Departments  INNER JOIN dbo.Employees ON dbo.Departments.OrgCode = dbo.Employees.OrgCode  INNER JOIN dbo.CompleteSurvey ON dbo.Employees.EmployeeID = dbo.CompleteSurvey.RespondantID GROUP BY dbo.Departments.DepartmentName第二个问题显示参与者,即使没有参与者,也不会显示所有部门,但应显示零。) Z, @8 H4 F* R' Y6 J
更新:! u: a  W# f$ t/ l9 `0 w, m) g7 Z
基本上,我想要的是一个查询,显示每个部门的员工总数和参与者总数,以及参与百分比。" L- U2 I7 _  {1 z% O3 A2 y
                                                               
3 U+ q3 L- Z3 U# ~5 g    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则