2016-05-30 21 views
0

私は2つの異なるテーブルを持って、彼らは以下のとおりです。それぞれのビューでは?

ユーザー - UID、名前、年齢、PHONENUMBER

評価 - 評価表でスコア、raterid、UID

、基本的にはそこにすることができます同じユーザーに評価を付けることができます。

Example: raterid 009 gives "10" to uid 001; raterid 008 gives "5" to uid 001. 

ここで、ユーザーの名前、年齢、平均スコアを表示するビューを作成しようとしています。

しかし、特定の「uid」にあるすべてのスコアを検索できるようにするために、(「トリガー」のような)何か「FOR EACH」が必要なのではないですか?

ここに私のコードは、しかし、私版画、これまでのところだ「誤差関数」

CREATE VIEW theBestSeller AS 
SELECT U.name, U.age, AVG(R.score) 
FROM USER U, RATING R 
WHERE U.uid = R.uid 
GROUP BY AVG(R.score) 

誰も私を助けることができますか?

答えて

2

まず、適切な明示的なjoin構文を使用する方法を学んでください。単純なルール:は、FROM句にカンマを使用します。 常にを使用すると、明示的にJOINが使用されます。次に、正しく集約する必要があります。

+0

結合構文についてのご意見ありがとうございます。私はそれを他の誰かからも学びました。とにかく、間違いは '' U.name'の代わりに '' GROUP BY(AVG(...)) ''とタイプしたからです。 – MasAdam

関連する問題