次の表を用意してください。
表1:Question
QuestionID (ID)
QuestionText (Text)
表2:Question Response
QuestionResponseId (ID)
QuestionResponseTypeId (References Question Response Type)
QuestionResponseDetailsId (References Question Response Details) - This should be used for text only values (Custom Answers)
QuestionResponse (Boolean)
表3:Question Response Type
QuestionResponseTypeId (Id)
Description (Text) -- Dictates if the answer is a boolean or a text field
表4:Question Response Details
QuestionResponseDetailsId (Id)
Description (Text) - Holds the text answer to the questions
次のテーブルにデータが入力されると、質問、質問の応答(テキストまたはブール値)を保持する構造が作成されます。
次に、これをフィルタリングして、テキストベースの回答のみを表示できます。次に例を示します。
SELECT * FROM QuestionResponse
INNER JOIN QuestionResponseDetails ON QuestionResponse.QuestionResponseDetailsId = QuestionResponseDetails.QuestionResponseDetailsId
WHERE QuestionResponse.QuestionResponseTypeId = 1
ここで、1はテキストベースの回答で、2はブールベースの回答です(質問回答タイプテーブルから)