2016-08-23 17 views
1
、私は次のテーブルを持っている

を取得し、テーブルに参加します。SQLは、平均値

私はPersonsの一覧を取得する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 

ご協力いただきありがとうございます。

+0

をあなたには、いくつかの予想される出力 – TheGameiswar

+0

おかげTheGameiswarを表示してください、私は解決策を働いたことができます。下記参照。 – Richard

答えて

0

ソリューション(私はMySQLを使用しています):

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