どの質問に複数の正解があるかを示すクエリを考え出す必要があります。検索していて、必要なものを正確に見つけることができませんでした。これは私が欲しかったものですが、うまくいきませんでした。
これが私がこれまでに持っているものです...
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 でエラー near = が表示されてうまくいきませんでした。
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