表未按预期加入

时间:2019-11-11 23:35:29

标签: sql sqlite

我有两个表,一个表是测验,另一个表是问题。

测验模式类似于:

{
    "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的外键。

1 个答案:

答案 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