次のテーブルと関連する属性があります。
Survey:
SurveyID int,
SurveyTitle nvarchar(50)
SurveyQuestions
QuestionId int,
SurveyId fk from Survey table
Question nvarchar(100)
QuestionOrder int (eg: 1,2,3)
AnswerType char(1) (M. for Multiple choice answers like Checkbox, S for single like radiobuttion, T for Free Text
SurveyChoices
ChoiceId int
QuestionId int fk from SurveyQuestions
Choice nvarchar(255) (eg: Choices for each question entered by Admin
IsCorrect bit (1 for Correct choice, 0 for incorrect choice.
SurveyAnswers
AnswerId int
ChoiceId int fk from SurveyChoices
QuetionId int fk from SurveyQuestions
ChoiceText nvarchar(2000) (For FreeText)
これが私の必要性です。
各アンケートの質問を表示し、ユーザーの選択、最後に正しい回答を表示したいと思います。
ユーザーは複数の選択肢の回答 (チェックボックス) を 1 つ以上チェックできます
したがって、レイアウトは次のようになります。
Question Your Choice Correct Answer(s)
How many days in a year? 365 365
Tom Cruise Starred in
what movies? Check all that apply Rain Man Rain Man
Risky Business Risky Business
Mission Possible Mission Impossible
あなたは実際にフィドルでSQLスキーマを見ることができます
http://sqlfiddle.com/#!3/4c642/1
礼儀スティーブ・フォード。ありがとう、スティーブ。
私が試みたクエリは以下のとおりです。
SELECT DISTINCT SQ.question, SC.Choice As CorrectAnswer
FROM surveyquestions AS SQ
INNER JOIN surveychoices AS SC ON SQ.QuestionID = SC.QuestionID
INNER JOIN surveyanswers AS SA ON SA.QuestionID = SQ.QuestionID AND SC.choiceId = SA.choiceId AND SA.username = 'John.Doe'
WHERE SQ.SurveyID = 10
質問は正しいようです。
トム クルーズの映画の場合のように、複数の選択肢が正しい場合、それらすべてが表示されないため、正解は完全には正しくありません。
問題ごとにすべての正解を表示したいと考えています。
最後に、ユーザーの選択肢を表示する方法がわかりません。
専門家のご支援をよろしくお願いいたします。