内部結合を使用して、テーブルからカウントされた統計を返す非常に複雑なselectステートメントがあります(これをアンサーバンクと考えてください-以下の複雑なselectステートメント)。
これらの回答は、Questions_Bank_AnswerChoices(すべての質問を格納する)というテーブルに関連しています。
最初に質問を(Questions_Bank_AnswerChoicesテーブルから)プルしてから、統計と照合しようとしています(以下の複雑なステートメント)。以下の複雑なステートメントは統計を取得しますが、回答がない限り質問は取得しません。
したがって、質問1に誰も回答しなかった場合、質問1は回答テーブルに含まれていないため統計に表示されません(bc誰も回答していません)。
どうすればこれを達成できますか?アウタージョインが必要だと思いますか?
複雑な選択ステートメント:
WITH tbl as (
SELECT
Questions_Bank.QuestionID, Questions_Bank.QuestionName,
REPLACE(Schools_Answers_Items.AnswerValue, '? ', ', ') as AnswerValue,
COUNT(Schools_Answers_Items.SchoolsAnswersItemID) AS CountAnswer,
Schools_Answers_Items.SchoolID
FROM Questions_Bank
INNER JOIN Schools_Answers_Items
ON Questions_Bank.QuestionID = Schools_Answers_Items.QuestionID
LEFT OUTER JOIN Schools_Answers
ON Schools_Answers_Items.SchoolsAnswerID = Schools_Answers.SchoolsAnswerID
WHERE (Questions_Bank.QuestionID = 1108)
AND (Schools_Answers.SchoolID = 103)
GROUP BY
Schools_Answers_Items.SchoolID,
Schools_Answers_Items.AnswerValue,
Questions_Bank.QuestionID,
Questions_Bank.QuestionName
)
SELECT
QuestionID, QuestionName, AnswerValue, CountAnswer,
SUM(CountAnswer) OVER () AS CountAllAnswers
FROM tbl