2013-03-11 66 views
1

我使用以下查詢:輸出錯誤與SQL

+0

這肯定是一個家庭作業的問題:) – Saju 2013-03-11 22:34:46

+0

這將幫助我們回答你的問題,如果你定義究竟是什麼錯了你的輸出,你會想到什麼,你實際上得到。 – beny23 2013-03-11 22:34:49

+0

@Sjuju作業與否與問題無關。這裏主要的問題是關閉這個問題,因爲它不清楚用戶想要什麼,我們不在這裏做出假設 – 2013-03-11 22:36:00

回答

2

下面的查詢不完全測試,因爲有沒有提供採樣數據。

SELECT d.LecturerID, d.Name, 
     c.CourseID, c.CourseName, 
     a.Semester, 
     a.percentageOfStudent 
FROM 
     (
      SELECT CourseID, 
        Semester, 
        SUM(CASE WHEN grade >= 6 THEN 1 ELSE 0 END) * 1.0/COUNT(*) * 100.0 percentageOfStudent 
      FROM Exam 
      GROUP BY CourseID, Semester 
      HAVING SUM(CASE WHEN grade >= 6 THEN 1 ELSE 0 END) * 1.0/COUNT(*) * 100.0 < 50 
     ) a 
     INNER JOIN Lecture b 
      ON a.CourseID = b.CourseID AND 
       a.Semester = b.Semester 
     INNER JOIN Course c 
      ON b.CourseID = c.CourseID 
     INNER JOIN Lecturer d 
      ON b.LecturerID = d.LecturerID 
+0

感謝您的幫助,但它說:查詢錯誤:沒有這樣的列:c.Semester無法執行語句 – user2158447 2013-03-11 23:11:20

+0

再試一次,錯誤被拋出的原因是我按學期加入'講座'和'課程'。 – 2013-03-11 23:16:32

+0

非常感謝,非常感謝! – user2158447 2013-03-11 23:25:38