我有2张桌子 一个包含重复使用的问题列表编号,问题编号和问题的问题 另一个包含答案,并有问题编号,唯一的调查编号和答案 我试图将这些结合起来以找出缺失的答案。
q.qid和a.question都是问题编号
q.sid是一个重复使用的问题清单编号
a.sid是唯一的调查编号
SELECT * FROM question q
LEFT JOIN answers a ON q.qid = a.question
WHERE q.sid=3 AND a.sid =2259
ORDER BY q.qid
问题是我们的立场,因为我只是要求出现在调查ID 2259中分配答案的问题。
但是我想列出来自q.sid 3的所有问题并包含来自a.sid = 2259(但不是a.sid 2260或2261 ......使用相同的q.sid of 3)的答案并包括如果没有条目,则为NULL值。
这是可能的
答案 0 :(得分:2)
如果将WHERE条件的相关部分移动到JOIN条件,即仅与sid = 2259的行连接,则它有效。
SELECT *
FROM question q
LEFT JOIN answers a ON q.qid=a.question AND s.sid=2259
WHERE q.sid=3
ORDER BY q.qid