私は3つのテーブル - イベント、メンバー、ランクを持っています。私は、特定のイベント(ex EV01)のために、(RANKからの)最良の結果とそれが所属するメンバーを表示する必要があります。これを行う最も簡単な方法は何ですか?下のコードは最低の数字を選択しているようですが、自分自身を複製し、他のメンバーが同じ結果を得ていると主張します。テーブル内のカラムから最低番号を検索
予想される出力:
EVENT_ID EVENT_TYPE EVENT_NAME MEMBER_ID MEMBER_NAME RESULT
event01 swimming 100m mem001 John Smith 10
コードこれまで:
SELECT E.EVENT_ID, E.EVENT_TYPE, E.EVENT_NAME, R.MEMBER_ID, M.MEMBER_FIRSTNAME, M.MEMBER_LASTNAME, (SELECT MIN(RESULT)
FROM RANK WHERE E.EVENT_ID = 'EVENT003') AS AVG_INCOME_ALL_CLUBS
FROM EVENT E, RANK R, MEMBER M
WHERE E.EVENT_ID = R.EVENT_ID
AND R.MEMBER_ID = M.MEMBER_ID
ORDER BY MEMBER_ID;
は、すべてのイベントが勝者を持っていませんか?なぜR.RESULT = 1でフィルタリング(WHERE句を使用)できないのですか? – mathguy