2016-06-07 31 views
1

我有問題,答案,question_type和possible_answers表。 一個問題有很多答案,例如,可以將1-5存儲在possible_answers表中,並通過question_type表和問題表進行存儲。左連接,分組和計數所需的陣列

我通常解決這個問題,使得一個sql返回可能的答案,然後在一個for我再次看到每個更多的SQL句子......這需要很多時間。 我的想法是在一個SQL使之與把零上possible_answers一個沒有答案的問題的答案的計數的數組:

answer | count 

1 | 234 
2 | 123  
3 | 0  
4 | 0  
5 | 876  

這可能嗎?非常感謝!

回答

0

我假設答案表包含一個外鍵questionID。我還會假設問題類型不需要加入它們,而是充當查找表。

如果要填充的問題的答案,包括零的計數possible_answers表,嘗試

INSERT INTO possible_answers 
SELECT questions.questionID, COUNT(answers.answerID) 
FROM questions 
LEFT JOIN answers 
ON questions.questionID = answers.questionID 
GROUP BY questions.questionID;