2016-08-23 3 views
1
나는 다음과 같은 테이블이

을 받고 테이블에 가입하세요. 내가 Persons의 목록을 얻을 경우 SQL은 평균값

나는 SQL 쿼리를 가지고 :

SELECT * FROM PERSON 

질문 : AVE_RATINGNO_RATINGS 값을 채울 수있는 Rating 테이블에 가입하려면 어떻게해야

?

나는 JOIN 테이블에 대해 다음 작업을 수행 할 수 있지만 AVE_RATINGNO_RATINGS은 어떻게 계산합니까?

SELECT * FROM PERSON P 
INNER JOIN RATING_PERSON RP ON P.ID = RP.PER_ID 
INNER JOIN RATING R ON RP.RAT_ID = R.ID 
GROUP BY P.ID 

도움을 주셔서 감사합니다. (내가 MySQL을 사용하고있다)

+0

당신은 몇 가지 예상 출력 – TheGameiswar

+0

감사 TheGameiswar을 보여 주시겠습니까,하지만 난 솔루션을했다. 아래를 참조하십시오. – Richard

답변

0

해결책 :

SELECT 
count(R.ID) as NO_ROWS, avg(R.RATING) as AVE_RATING, 
P.* FROM PERSON P 
INNER JOIN rating_person RP ON P.ID = RP.PER_ID 
INNER JOIN RATING R ON RP.RAT_ID = R.ID 
group by P.ID