2014-11-13 3 views
3

내부 조인을 사용하여 학생 ID, 이름 및 학생이 매주 4 시간 이상 근무한 시간당 총 시간 수를 나열하려고합니다.SQL 쿼리 - Count() 및 내부 조인

나는 세 개의 테이블이 여기에 필요 한 학생이, studentReg 및 roomBooking 다음과 같이

student 

id | fname | surname | courseCode 

studentReg 

sID | modCode 

roomBooking 

bookingID | roomCode | moduleCode | dayReq | timeReq | semester | classSize 

내가 가진 SQL 쿼리는 지금까지

SELECT COUNT(moduleCode) AS [Lecture Hours], 
id, fname, surname 
FROM (student INNER JOIN studentReg ON student.id = studentReg.sID 
     INNER JOIN roomBooking ON studentReg.modCode = roomBooking.moduleCode) 
HAVING COUNT (moduleCode) > 4; 

내가 이것을 실행하려고하면, 내가 얻을 "표현의 구문 오류"

문제가 무엇인지 알려줄 수있는 사람이 있습니까? 중첩와 절대 확인

+0

어떤 구문 오류는 점점

SELECT COUNT(moduleCode) AS [Lecture Hours], id, fname, surname FROM student INNER JOIN (studentReg INNER JOIN roomBooking ON studentReg.modCode = roomBooking.moduleCode) ON student.id = studentReg.sID GROUP BY id, fname, surname HAVING COUNT (moduleCode) > 4 

또는 그런 일을 시도 할 것 ?? –

+0

@CodeL ღ ver "쿼리 표현식에 구문 오류 (누락 된 연산자)가 있습니다. 'student.id = studentReg.sID INNER JOIN roomBooking ON studentReg.modCode = roomBooking.moduleCod'. –

답변

2

는 MS 액세스에 가입,하지만 어쩌면

SELECT COUNT(moduleCode) AS [Lecture Hours], 
id, fname, surname 
FROM (student INNER JOIN studentReg ON student.id = studentReg.sID) 
     INNER JOIN roomBooking ON studentReg.modCode = roomBooking.moduleCode 
GROUP BY id, fname, surname 
HAVING COUNT (moduleCode) > 4; 
+0

두 번째 쿼리 인 99 %입니다. +1 그럼에도 불구하고. – GarethD

+0

@GarethD 넵, OP의 피드백은 좋을 것입니다;) –