如何使用这样的sql查询在后端检索答案和问题表?
我正在使用Servlet JSP SQL编写测验应用程序 我在sql中有两个表,如下所示:如何使用这样的sql查询在后端检索答案和问题表?,sql,Sql,我正在使用Servlet JSP SQL编写测验应用程序 我在sql中有两个表,如下所示: Question(questionID, question_content, status, subjectID) Choice(choiceID, choice_content, questionID, isTrue) 1个问题有4个答案(1对3错) 我的问题是: SELECT *, question_content FROM Choice INNER JOIN Choice.questionID
Question(questionID, question_content, status, subjectID)
Choice(choiceID, choice_content, questionID, isTrue)
1个问题有4个答案(1对3错)
我的问题是:
SELECT *, question_content
FROM Choice
INNER JOIN Choice.questionID = Question.questionID
所以结果是这样的:
Question(questionID, question_content, status, subjectID)
Choice(choiceID, choice_content, questionID, isTrue)
问题1-选择1
问题1-选择2
问题1-选择3
问题1-选择4
所以我在后端接收到的对象
Obj(问题1,选项1)
Obj(问题1,选项2)
但我想要的是:
Obj(问题1,选项1,选项2,选项3,选项4)
有什么方法可以实现这个或任何适合我需要的查询吗?使用条件聚合,如下所示:
Select question_content,
Max(case when rn= 1 then choice_content end) as choice1,
Max(case when rn= 2 then choice_content end) as choice2,
Max(case when rn= 3 then choice_content end) as choice3,
Max(case when rn= 4 then choice_content end) as choice4
From
(SELECT c.choice_content, q.question_content, q.questionid,
Row_number() over (partition by q.questionid order by c.choice_id) as rn
FROM Choice c
INNER JOIN question q on c.questionID = q.questionID) t
Group by questionid, question_content