我的查询结果有问题。它没有使用“QuestionContent”字段显示正确的行。
例如在数据库表中,如果它声明(不包括所有字段):
QuestionContent Option Type QuestionMarks Answer ....// other fields
What is 2+2 A-D 1 D
What is 3+3 A-D 1 B
What is 4+4 A-E 2 C
那么为什么当我创建我的查询时结果显示是这样的:
QuestionContent Option Type QuestionMarks Answer ....// other fields
What is 2+2 A-D 1 D
What is 3+3 A-D 1 D
What is 4+4 A-D 1 D
以下是我正在使用的查询,如何解决才能显示正确的结果?
SELECT q.QuestionContent, o.OptionType, q.NoofAnswers, a.Answer, r.ReplyType,
q.QuestionMarks
FROM Answer a
INNER JOIN Question q ON a.QuestionId = q.QuestionId
JOIN Reply r ON q.ReplyId = r.ReplyId
JOIN Question qu ON r.ReplyId = qu.ReplyId
JOIN Option_Table o ON qu.OptionId = o.OptionId
GROUP BY q.QuestionContent
更新:下面是 4 个表的架构:
问题表:
SessionId (PK) Varchar(3)
QuestionId(PK) INT
QuestionContent Varchar(250)
NoofAnswers INT
QuestionMarks INT
ReplyId(FK) Varchar(2)
OptionId(FK) Varchar(2)
答案表
SessionId (PK) Varchar(3)
QuestionId(PK) INT
Answer Varchar(10)
Option_Table 表
OptionId(PK) Varchar(2)
OptionType Varchar(10)
回复表
ReplyId(PK) Varchar(2)
ReplyType Varchar(10)
在查询中,我想显示这些字段:
QuestionContent
OptionType
NoofAnswers
Answer
ReplyType
QuestionMarks
希望这是足够的信息,如果没有,请给我评论:)