我有一个包含3个表的mysql数据库:
case (caseID), question_nl (case, question) and question_fr (case, question)
question_nl和question_fr都与case相关联。现在我想执行一个suery来给我所有的情况,他们的代表值来自_nl或_fr。当两个表之一中没有条目时,会发生此问题。我想得到一个结果,即使问题是空的
例如:case 1有question_nl'AAA'和question_fr'BBB'。案例2还没有在_nl或_fr中设置任何问题。现在我想要一个输出caseID和问题的查询(如果没有设置,则为null),因此查询应该具有:
1 - AAA - BBB
2 - null - null
我怎样才能做到这一点?
SELECT C.caseId, N.question, F.question
FROM cases C JOIN
question_nl N
ON N.case = C.caseID JOIN
question_fr F
ON F.case = C.caseID
这不起作用......
一些帮助会非常好!
更新:如果我必须在_nl或_fr上添加WHERE-clausule怎么办?
答案 0 :(得分:0)
改为使用LEFT JOIN
:
SELECT C.caseId, N.question, F.question
FROM cases C
LEFT JOIN question_nl N ON N.case = C.caseID
LEFT JOIN question_fr F ON F.case = C.caseID
答案 1 :(得分:0)
使用LEFT JOIN:
SELECT C.caseId
, N.question
, F.question
FROM cases C
LEFT JOIN question_nl N
ON N.case = C.caseID
LEFT JOIN question_fr F
ON F.case = C.caseID