Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7943413
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 4, 20262026-06-04T00:16:12+00:00 2026-06-04T00:16:12+00:00

I have the following database design: Employees Table: EmployeeID, Name, OrgCode Departments Table: OrgCode,

  • 0

I have the following database design:

Employees Table: EmployeeID, Name, OrgCode
Departments Table: OrgCode, DepatName
CompleteSurvey Table: ID, ParticipantID

And I need to develop a table that shows the total number of employees in each department, and the total number of participants who completed the survey in each department, too. Then, I want to show the percentage of participation in each department which is mainly equal to the total number of participants / total number of employees.

I came up with the following two queries but I have to come up with one query that shows the above requirement, so how to do that?


Total number of employees in each department:

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
GROUP BY dbo.Departments.DepartmentName

Total number of participants in each department:

 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

The problem with the second query that shows the participants, it doesn’t show all the departments even if they have no participants, it should show zeros.

UPDATE:

Basically, what I want is to have one query that shows the total number of employees in each department and the total number of participants who completed the survey in each department, and show the percentage of participation.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-04T00:16:14+00:00Added an answer on June 4, 2026 at 12:16 am

    If I understood correctly that CompleteSurvey is filled with EmployeeID when employe submits a survey, this query will retrieve the info you need. You can check live test @ Sql Fiddle.

    select Departments.DepatName, 
           count (Employees.EmployeeID) Employees, 
           count (CompleteSurvey.ID) Finished,
           cast (count (CompleteSurvey.ID) as float) / count (Employees.EmployeeID)
                PercentageFinished
      from Departments
     inner join Employees 
        on Departments.OrgCode = Employees.OrgCode
      left join CompleteSurvey 
        on Employees.EmployeeID = CompleteSurvey.ParticipantID
     group by Departments.DepatName
    

    If you need all the departments, use this query:

    select Departments.DepatName, 
           count (Employees.EmployeeID) Employees, 
           count (CompleteSurvey.ID) Finished,
           case when count (Employees.EmployeeID) <> 0
                then cast (count (CompleteSurvey.ID) as float) 
                         / count (Employees.EmployeeID)
                else 0
            end PercentageFinished
      from Departments
      left join Employees 
        on Departments.OrgCode = Employees.OrgCode
      left join CompleteSurvey 
        on Employees.EmployeeID = CompleteSurvey.ParticipantID
     group by Departments.DepatName
    

    New test @ Sql Fiddle.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have the following database design: Employees Table: EmployeeID, Name, OrgCode Departments Table: OrgCode,
I have the following database design: Employee Table: EmployeeID, Name, OrgCode Department Table: OrgCode,
I have the following database design: Employee Table: EmployeeID, Name, OrgCode Department Table: OrgCode,
Let's say I have the following database table: record_id | record_date | record_value -----------+-------------+--------------
I have the following (simplified) database tables: Products - ProductID, int, PK - Name,
A noob question. I'm putting together my first database and have the following design
I need your help with my database design. I'm trying to develop a Result
I have a test database design like this: The following is the pseudo-code: //BhillHeader
What's the best database design for the following problem: I have a product with
I have the following database design question: I have a record that contains the

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.