title: How to show all answers even if there is no participants in one of them?
body: <p>I have the following database design:</p>
  
  <pre><code>Employee Table: EmployeeID, Name, OrgCode
  Department Table: OrgCode, DepartName
  CompleteSurvey Table: ID, RespondantID, QuestionsAnswersID
  Questions Table: QuestionID, Question
  Answers Table: AnswerID, Answer
  QuestionsAnswers Table: ID, QuestionID, AnswerID
  </code></pre>
  
  <p>Each question has different multiple choices. Most of the questions have the same choices such as (Agree, Disagree). I want to write the query that shows the question with all of its choices and the number of participants in each choice even if it is zero. <strong><em>I wrote the query and it shows all answers of the question even if there no one choose one of the answers, but the query shows NULL in the Questions column besides the answers with no participants and I don't know why</em></strong>. Any help please? </p>
  
  <p>My Query:</p>
  
  <pre><code>SELECT     COUNT(DISTINCT dbo.CompleteSurvey.RespondantID) AS [Total Number of Participants], dbo.Answers.Answer, dbo.Questions.Question
  FROM         dbo.CompleteSurvey INNER JOIN
                        dbo.QuestionsAnswers ON dbo.CompleteSurvey.QuestionsAnswersID = dbo.QuestionsAnswers.ID INNER JOIN
                        dbo.Questions ON dbo.QuestionsAnswers.QuestionID = dbo.Questions.QuestionID RIGHT OUTER JOIN
                        dbo.Answers ON dbo.QuestionsAnswers.AnswerID = dbo.Answers.AnswerID
  GROUP BY dbo.Answers.Answer, dbo.Questions.Question
  </code></pre>
  
  <p><strong>UPDATE:</strong></p>
  
  <p><em><strong>The query should show the number of participants of each department in the question with all its answers, so how to do that?</em></strong></p>
  
  <p>My Updated Query:</p>
  
  <pre><code>SELECT     COUNT(DISTINCT dbo.CompleteSurvey.RespondantID) AS [Total Number of Participants], dbo.Answers.Answer, dbo.Questions.Question, 
                        dbo.Departments.DepartmentName
  FROM         dbo.Employees INNER JOIN
                        dbo.CompleteSurvey ON dbo.Employees.EmployeeID = dbo.CompleteSurvey.RespondantID INNER JOIN
                        dbo.Departments ON dbo.Employees.OrgCode = dbo.Departments.OrgCode RIGHT OUTER JOIN
                        dbo.Questions INNER JOIN
                        dbo.QuestionsAnswers ON dbo.Questions.QuestionID = dbo.QuestionsAnswers.QuestionID INNER JOIN
                        dbo.Answers ON dbo.QuestionsAnswers.AnswerID = dbo.Answers.AnswerID ON dbo.CompleteSurvey.QuestionsAnswersID = dbo.QuestionsAnswers.ID
  GROUP BY dbo.Answers.Answer, dbo.Questions.Question, dbo.Departments.DepartmentName
  </code></pre>
  
  <p><em><strong>But the problem with it doesn't show the department. It should show the number of participants of each department in each question with all of its answers even if there is no participant in one of that answers.</em></strong></p>