私は、カウント機能を使用して試験のスコアを私に与えるテーブルを持っています。私は、test1とtest2を比較するために同じ関数を実行する必要があります。sqlが2つのテーブルを比較しています
私はカウント機能を使用する最初の試験のスコアを見つけて、where句にいくつかの制約を追加行い、以降のユーザー名でグループ化するために、
私がする必要があるだろう秒カウントし、このカウントを比較する必要があります2番目のselectステートメントにありますが、having節にselectステートメントを追加することはできません。where節のcountには何も操作できません。以下は、私が今持っているもの
SELECT ur.uno, COUNT(*)*5 as test1
FROM question q,
userresponse ur
WHERE q.eno = '1'
AND q.eno = ur.eno
AND q.qno = ur.qno
AND q.correctanswer = ur.response
AND test1 > (SELECT ur.uno, COUNT(*)*5
FROM question q1,
userresponse ur1
WHERE q1.eno = '3'
AND q1.eno = ur1.eno
AND q1.qno = ur1.qno
AND q1.correctanswer = ur1.response
GROUP BY ur.no)
GROUP BY ur.uno
の基本的な考え方である私はtest1の無効な識別子を取得するしかしこれは私の最初のアプローチです。私の他のアプローチは
select ur.uno, count(*)*5 as test1
from question q, userresponse ur
where q.eno = '1' and q.eno = ur.eno and q.qno = ur.qno and q.correctanswer = ur.response
group by ur.uno
having count(*)*5 > (select ur1.uno, count(*)*5 as test3
from question q1, userresponse ur1
where q1.eno = '3' and q1.eno = ur1.eno and q1.qno = ur.qno and q.correctanswer = ur.response
group by ur1.uno)
だろうが、私はあまりにも多くの値の誤り、任意のアイデアを得ますか?あなたがTEST1を置き換えることができように、句は別名を認識しない