SQL JOIN问题和答案缺少NULL的答案

时间:2019-02-18 20:29:04

标签: mysql sql

我有一个表格questions,其中存放问题,而表格answers,其中包含问题的答案。注意:并非每个问题都有答案。我在answers中还有一列,其中包含person_id(回答问题的人)。

我需要进行JOIN查询以获取所有问题,并为特定人员提供该问题的答案(如果适用)。

select question.text, answers.answer, answer.id from question
left outer join answers
on question.id = answers.question_id
where answers.person_id = 175

如果没有针对特定问题的答案,我期望null为答案,但是对于我当前的查询,我没有问题或没有答案的答案。

1 个答案:

答案 0 :(得分:2)

您拥有left join,但where子句中必须包含on条件:

select q.text, a.answer, a.id
from question q left outer join
     answers a
     on q.id = a.question_id and a.person_id = 175;