选择我的加入/有条件

时间:2012-10-20 08:42:08

标签: mysql mysqli

我有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值。

这是可能的

1 个答案:

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