0
지난 며칠 동안 처리해야했던 또 다른 문제가 있습니다. 모듈에 대한상위 쿼리를 기반으로 단일 결과로 반환 된 중첩 쿼리의 평균을 얻는 방법
SELECT S.Name,S.Surname,S.Student_ID,S.StudentNumber,C.Course, B.Campus_Title,M.Module,SM.Percentage_Obtained,S.Days_Absent,
(SELECT AVG(Percentage_Obtained)
FROM Student_Modules
INNER JOIN Courses_Template
ON Courses_Template.ID = Student_Modules.CourseID
INNER JOIN Modules_Template
ON Courses_Template.ID = Modules_Template.CourseID
WHERE Modules_Template.Module= M.Module)[AS Class Average]
FROM Students S
INNER JOIN Student_Courses SC
ON SC.StudentID = S.ID
INNER JOIN Courses_Template C
ON C.ID = SC.courseID
INNER JOIN Branches B
ON B.ID = S.BranchID
INNER JOIN Student_Modules SM ON
SM.StudentID =S.ID
INNER JOIN Modules_Template M ON
M.ID = SM.ModuleID
원래 값이 (추출)되는
:SELECT S.Name,S.Surname,S.Student_ID,S.StudentNumber,C.Course, B.Campus_Title,M.Module,SM.Percentage_Obtained,S.Days_Absent
FROM Students S
INNER JOIN Student_Courses SC
ON SC.StudentID = S.ID
INNER JOIN Courses_Template C
ON C.ID = SC.courseID
INNER JOIN Branches B
ON B.ID = S.BranchID
INNER JOIN Student_Modules SM ON
SM.StudentID =S.ID
INNER JOIN Modules_Template M ON
M.ID = SM.ModuleID
문제는이 같은 계산 결과를 얻기 위해 쿼리를 재 작성 할 것입니다 : 나는 다음과 같은 쿼리를 가지고 내가 두 번째 쿼리에서 원하는
M.Modules AVG(Percentage_Obtained)
Module 1 99
Module 2 98
Module 3 94
Module 1 94
Module 2 22
Module 3 100
예상되는 결과는이
M.Modules AVG(Percentage_Obtained) (SubQuery's Average)
Module 1 99 97
Module 2 98 60
Module 3 94 96
Module 1 94 97
Module 2 22 60
Module 3 100 96
했다
그러나, 그것은 나에게 준 무슨 일이
내가 두 번째 쿼리에서 원이
M.Modules AVG(Percentage_Obtained) (SubQuery's Average)
Module 1 99 84
Module 2 98 84
Module 3 94 84
Module 1 94 84
Module 2 22 84
Module 3 100 84
사람이 아마도 어딘가에서 내 실수를 발견 할 수 있었다 예상되는 결과를 완전히 다른 무언가가 있었다? 하나의 쿼리로 모든 필드를 필요로합니다. 보고서를 작성해야하기 때문입니다. 서브 쿼리의 결과는 매우 중요하다
그 나는 필요가 거의 같은이 (하지만 동적으로 모듈의 모든 재발에 대한) :
SELECT AVG(Percentage_Obtained)
FROM Student_Modules
INNER JOIN Modules_Template ON Modules_Template.ID = Student_Modules.ModuleID
WHERE Modules_Template.Module = 'Module 1' -- And module 2, and module 3 .... but Dynamically
을 나는 지금 너를 키스 할 것이다 !!!! 감사합니다. 당신은 저것과 함께 나의 가죽을 구했습니다. 연구 외측 연구가 가능한 한 빨리 적용됩니다. – Eon
@EonRustedduPlessis - 그럴 필요는 없습니다 ;-). 대답이 잘되어서 기쁩니다. – Lamak
잘 작동했습니다. Student_Modules.Module = M.Module은 WHERE Student_Modules.ModuleID = M.ID – Eon