2011-07-25 37 views
3

我有一個MySQL數據庫有兩個表:單查詢來獲取信息並計算他們的答案

  • 消息
  • message_answers

我想獲取所有的信息和數字答案爲他們每個人的,像:

  • 第一消息(10個答覆)
  • 第二條消息(5條回答)

是否可以使用單個sql查詢?

我試過一個查詢和一個子查詢的計數,但我不知道如何從主要查詢當前id使子查詢的「WHERE」限制(如:「message_answers.message_id = messages 。ID」)。

謝謝 塞巴斯蒂安

回答

4
SELECT m.message, COUNT(ma.answer_id) AS AnswerCount 
    FROM messages m 
     LEFT JOIN message_answers ma 
      ON m.id = ma.message_id 
    GROUP BY m.message 
+0

謝謝! 當我看到答案時,我認爲我的問題真的很愚蠢! :) –

+0

唯一愚蠢的問題是你永遠不會問的問題。 –

+0

沒錯,只是我很生氣,不能自己找到。 無論如何,謝謝! ;) –

0
select m.id, count(ma.id) 
from messages m 
join join message_answer ma on ma.id = m.message_id 
group by 1