我有两个表,一个表是测验,另一个表是问题。
测验模式类似于:
{
"id": ,
"name": "",
"description": ""
}
问题架构类似于:
{
"id": ,
"name": "",
"options": "",
"correct_option": ,
"quiz": ,
"points": ,
}
现在,我必须以如下方式连接这两个表:
{
"name": "sample_quiz",
"description": "sample text",
"questions" :
"id": ,
"name": "",
"options": "",
"correct_option": ,
"quiz": ,
"points":
}
这是我到目前为止所做的查询。但是,它没有产生所需的结果。
select
quiz.*,
questions.*
from quiz
inner join questions on questions.quiz = quiz.id
where quiz.id = 10
我要去哪里错了?
注意:问题表中的测验列是测验表中ID的外键。
答案 0 :(得分:0)
您的查询看起来不错。如果未获得预期的结果,则可能是因为在两个要连接的表中具有相同名称的列。我建议使用列别名来避免这种情况:
select
quiz.id quiz_id,
quiz.name quiz_name,
quiz.description quiz_description,
questions.name question_name,
questions.options question_options,
questions.correct_option question_correct_option,
questions.points question_points
from quiz
inner join questions on questions.quiz = quiz.id
where quiz.id = 10