在以下Oracle語句中,我使用子查詢來獲取最終記錄。在最終結果中獲取/顯示嵌套的子查詢列名
這個查詢工作正常,但我想使它更優化。這裏,在嵌套的子查詢(即第三段)中,我得到了avg,max和min。不管我在嵌套的子查詢中得到什麼結果(即第三段)再次我在第二段查詢中使用那些列名,同樣,我在第一段查詢中使用相同的列名(avg,max和min)來顯示我的最終結果結果。是否有任何最佳方式,以便我可以直接在第一個查詢(第一個段查詢)中使用列名(avg,max和min)。
select suq1.class_id, course.name, suq1.max_score, suq1.min_score, suq1.avg_score
from course,
(select class.course_id as course_id, subq.class_id as class_id,
subq.maximum_score as max_score, subq.minimum_score as min_score,
subq.Average_Score as avg_score
from
(select class_id, max(score) as maximum_score, min(score) as minimum_score,
avg(score) as Average_Score from grade group by class_id) subq,
class where subq.class_id=class.class_id) suq1
where suq1.course_id=course.course_id;
我剛剛編輯你的代碼和(雖然這樣做)試圖閱讀和理解它,我仍然沒有看到它應該做什麼。請用簡單的英語解釋表格是什麼(表名,列名和數據類型,只有與問題相關的表格和列)以及你想從中獲得什麼輸出 - 什麼是邏輯,什麼是邏輯,什麼是邏輯輸出必須具有的列以及它們代表什麼/如何計算。也許這聽起來像很多工作,也許是這樣,但你正在尋找免費的建議 - 你必須做一些工作。 – mathguy