2016-12-05 3 views
0

私は外部キーによってリンクされたレコードの数を数えたいと思いますが、COUNTとINNER JOINを使用すると、ゼロがあるときにそれをリストしません。SQL - どこにもない外部キー項目の数をどのように選択しますか?

表:質問

  • QuestionId(主キー)
  • 質問テキスト

表:

  • QuestionId
  • をAnswerId
  • (外部キー)を回答
  • AnswerText

ゼロがあっても各質問の回答数を見たいと思っています。それ、どうやったら出来るの?

select q.questionid, count(a.questionid) as num_answers 
from questions q 
    left join answers a on a.questionid = q.questionid 
group by q.questionid; 

答えて

0

あなたはすべての

select q.questionid, 
    (Select count(*) From answers 
    Where questionid = q.questionid) num_answers 
from questions q 

(内部的に、クエリプロセッサはまだもちろん参加をしている時に参加を使用せずに、それをも行うことができます:あなたは外部結合を使用する必要が

+0

ありがとう、これは完璧です。 – Marcturis

0

。)

関連する問題