2016-06-07 61 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;