选择另一个表的计数为零的位置

时间:2012-11-19 14:47:13

标签: sql

我有两个表(questionsanswers),并希望仅当questions中的相应计数为零时才选择answers中的行,换句话说,当没有匹配questionid的答案时。

到目前为止,我的查询是:

SELECT q.* , COUNT(a.id) FROM questions q LEFT OUTER JOIN answers a ON q.id = a.questionid WHERE COUNT(a.id)=0

我不确定是否可以这样做,但它不起作用。有什么想法吗?

谢谢

2 个答案:

答案 0 :(得分:4)

试,

SELECT q.*
FROM questions q LEFT OUTER JOIN answers a 
           ON q.id = a.questionid 
WHERE a.questionid IS NULL

答案 1 :(得分:1)

您可以使用not exsist,如下所示:

SELECT q.*  
FROM questions q 
where not exists ( select 1 from answers  a
                   where q.id = a.questionid
                 )