SQL Displaying data by joining 3 tables when data exits in 2 out of 3 table

StackOverflow https://stackoverflow.com/questions/19711976

  •  02-07-2022
  •  | 
  •  

Question

May I know how many joins should I have if I want to list the stud number, stud name, and the total number of course each student applied for?

Since the appnCseNum = cseNum and studNum = appcnStudNum

STUDENT(studNum, studName, studDOB, studAddress)

COURSE(cseNum, cseStartDate, cseEndDate)

APPLICATION(appcnCseNum, appcnStudNum)

SELECT STUDENT.studNum, STUDENT.studName, COUNT(APPLICATION.appcnCseNum) AS coursenum
FROM STUDENT JOIN APPLICATION
ON STUDENT.studNum= APPLICATION.appcnCseNum;

Do I need to have another join for the COURSE in order retrieve the result? because the error i got was "not a single-group group function".

If i do not include the count, if works perfectly fine.

SELECT APPLICANT.appNum, APPLICANT.appName, APPLICATION.appcnPosNum
FROM APPLICANT JOIN APPLICATION
ON APPLICANT.appNum  = APPLICATION.appcnAppNum;

--------------------------SOLVED--------------------

SELECT STUDENT.studNum, STUDENT.studName, COUNT(APPLICATION.appcnCseNum) AS coursenum
FROM STUDENT JOIN APPLICATION
ON STUDENT.studNum  = APPLICATION.appcnStudNum
GROUP BY STUDENT.studName, STUDENT.studName;
Était-ce utile?

La solution

No you'll not need another join to retrieve the result but however your query is wrong,try this

SELECT STUDENT.studNum, STUDENT.studName, COUNT(APPLICATION.appcnCseNum) AS coursenum
FROM STUDENT JOIN APPLICATION
ON STUDENT.studNum  = APPLICATION.appcnStudNum
GROUP BY STUDENT.studName;
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top