我有以下两种表格结构:
试题表
QuestionID | Response
1 Yes
2 No
1 No问题查找表
QuestionID | Lookup
1 No
2 No
3 No当查找和响应相等时,我试图得到一个之和。例如,QuestionID 1的查找值为"No“。在试题表中,有两个问题In的值为1。其中一个响应的值为No,因此我会将返回值增加1,并将最终结果按QuestionID分组。
发布于 2014-08-26 14:55:49
SELECT a.QuestionId, SUM(CASE WHEN(b.Lookup = a.Response) THEN 1 ELSE 0 END) AS [Count]
FROM Questions a
INNER JOIN QuestionLookup b ON a.QuestionId = b.QuestionId
GROUP BY a.QuestionId发布于 2014-08-26 15:00:57
如果你只想知道有多少正确的答案,这就是你所需要的。
SELECT COUNT(*) FROM QuestionLookupTable Q
INNER JOIN Questions R
ON Q.QuestionID = R.QuestionID
WHERE Q.Lookup = R.Response如果哪个问题有多少正确答案是重要的..。
SELECT Q.QuestionID, COUNT(*) FROM QuestionLookupTable Q
INNER JOIN Questions R
ON Q.QuestionID = R.QuestionID
WHERE Q.Lookup = R.Response
GROUP BY Q.QuestionIDhttps://stackoverflow.com/questions/25508926
复制相似问题