mysql - SQL JOIN 问答与 NULL 缺少答案
问题描述
我有一个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 作为答案,但是对于我当前的查询,如果没有答案,我不会得到问题或答案。
解决方案
您有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;
推荐阅读
- r - Using igraph subgraph_isomorphisms to find given network motifs
- javascript - 为什么 React fetch 忽略了我得到的 JSON 数据?
- amazon-web-services - 通过变更集更新 AWS::EC2::EIPAssociation
- python - How to Submit Form Data
- python - Why do triangulated points not project back to same image points in OpenCV?
- javascript - How to fix TypeError: this._url is undefined in ArcGIS JS API (Query)
- arrays - 我有一个 JSON 数组,在角度 7 中有 4 个元素,但是当我询问它的长度时它显示为 0
- angular - 制表单元格单击:如何在单元格单击时以角度调用函数并使用组件元素
- azure - ADP FTP 链接服务丢失连接中间文件传输
- ruby-on-rails - Capybara drag_to 拖动到鼠标位置而不是目标