下面是一個SQL查詢,其計算從所選擇的學生已經註冊了組合兩個SQL查詢一起
SELECT DISTINCT
AVG(students_vs_modules.module_result) AS module_average,
students_vs_modules.module_id,
modules.module_name
FROM
students_vs_modules
INNER JOIN
modules ON students_vs_modules.module_id = modules.module_id
WHERE
(students_vs_modules.module_id IN (SELECT module_id
FROM students_vs_modules AS students_vs_modules_1
WHERE (user_id = @user_id)))
AND (students_vs_modules.module_result <> 0)
GROUP BY
students_vs_modules.module_id,
modules.module_name
我模塊全體學生的平均成績,然後也有低於它顯示一個特定查詢學生成績各模塊
SELECT
student_records.f_name, student_records.l_name,
modules.module_name, modules.module_id,
modules.semester, modules.year,
students_vs_modules.module_result,
year.year_title
FROM
student_records
INNER JOIN
students_vs_modules ON student_records.user_id = students_vs_modules.user_id
INNER JOIN
modules ON students_vs_modules.module_id = modules.module_id
INNER JOIN
YEAR ON modules.YEAR = YEAR.year_id
INNER JOIN
exam_session ON students_vs_modules.academic_year = exam_session.academic_year
AND modules.semester = exam_session.semester
WHERE
(student_records.user_id = @user_id)
ORDER BY
modules.YEAR, modules.semester, modules.module_id
在有沒有我可以能這兩個查詢結合在一起,這樣我可以有它顯示了個別學生結果的表,以及班級的平均分的方式。
所以我可以在我的網站上爲個人用戶提供一張桌子;
module_id | semester | year | module_result | module_average |
--------------------------------------------------------------
你 「在」 使用的是好奇。我懷疑這應該使用另一個內部聯接來完成。 – Reinderien