私は3つのテーブルを持っています。 1.学生 - ID、名前 2科目 - sidの、SNAME 3.結果 - ID、SID、マーク今Oracle上のSQL:すでに2つのテーブルを結合しました。別のテーブルの別の列が必要になります(別の結合)
(idとsidは上記の二つのテーブルが参照する外部キーです)、私は
を行います と私は、それらに得点が最大の件名を取得します。 さらに、これらの最大得点を得た生徒名も欲しいです。
私はr.id列を追加しようとしましたが、うまくいきませんでした。このクエリでテーブルの生徒を追加しようとしました。私はテーブルや何かを追加した後、おそらくグループ化しているつもりですか?
私はこの
SELECT r.id AS StudentID, s.sname AS SubjectName, MAX(r.marks) AS MaxMarks
FROM subjects s, results r
WHERE s.sid=r.sid
GROUP BY r.sid, s.sname, r.id
ORDER BY r.sid
を行なったし、私は繰り返しの被験者で、各StudentIDを持って、マークを獲得しています。 私が基本的に欲しいのは、各科目で最高の得点を得た学生です。
質問を編集し、サンプルデータと希望するrエスコート。 –
また、あなたが試したことと何がその努力で起こったのかを示してください。 –
同様に、私はこれを行うと、私は各科目の学生の名前と彼の最大マークを得ることができます。しかし、件名の列を追加すると、私は上記のように繰り返し結果を得る。 'SELECT t.name、MAX(r.marks)学生Tから は、結果が取得、t.id BY t.id = r.id 基は、t.name' – user1232