我需要提出一个查询,以显示哪些问题有多个正确答案。一直在寻找,找不到我需要的东西。我找到了这个,这有点像我想要的,但它对我不起作用,也许我做错了。
这是我到目前为止...
SELECT pq.ItemID, pq.RevNum, pc.sequence, pc.correct FROM Choice pc
JOIN Question pq on pc.UniqueQID = pq.UniqueQID and pc.RevNum = pq.RevNum
Group BY pq.ItemID, pq.RevNum, pc.Sequence, pc.Correct
ORDER BY ItemID, RevNum, Sequence
这将返回每个问题/修订和所有选项的列表。结果看起来像这样...
ItemID RevNum Seq Correct
12776 1 A 0
12776 1 B 0
12776 1 C 1
12777 1 A 0
12777 1 B 1
12777 1 C 0
12777 1 D 0
12778 1 A 1
12778 1 B 1
12778 1 C 0
12778 1 D 1
8301 3 a 1
8301 3 b 2
8301 3 c 2
8301 3 d 2
8303 3 a 2
8303 3 b 1
8303 3 c 2
8303 3 d 2
为了清楚起见,我添加了新行。选择 = 1 正确,0 或 2 不正确。我只需要有多个正确答案的问题,例如上面的 12778。
根据上面链接的文章,我尝试了类似的方法,但没有成功,在第 4 行的 = 附近出现错误。
SELECT pq.ItemID, pq.RevNum, pc.sequence, pc.correct FROM pubChoice pc
JOIN pubQuestion pq on pc.UniqueQID = pq.UniqueQID and pc.RevNum = pq.RevNum
Group BY pq.ItemID, pq.RevNum, pc.Sequence, pc.Correct
HAVING Count(correct=1) > 1
ORDER BY ItemID, RevNum, Sequence