2012-03-03 36 views
-6

3つのテーブルから値を取っているSQLステートメントを作成する必要があります。 1つは意見レコードを指し、残りはユーザーレコードのための別個のキーとして指しています。3つのforeginキーのあるテーブルから1つのテーブルへのSELECT

この表から、サブジェクト名、意見値、サブジェクトプロフェッサーおよびサブジェクトオピニオンを含むレコードを選択するにはどうすればよいですか?

+5

多分これは私ですが、この質問は分かりやすく答えるだけではありません。特に、あなたのスキーマ(各テーブルの実際のカラム名...少なくともPKとFK)の詳細を提供することができます –

+0

テーブルの定義を追加してください – rjdevereux

答えて

4

これは土曜日の夜なので、データモデルなしでこれに取り組むには十分気分がいいです。

実際の構造と列ではなく、3つのルックアップテーブル(科目、意見、ユーザー)の名前を指定しました。だから私はいくつかの推測をしています。

select subjects.name as subject_name 
     , opinions.value 
     , o_users.name as opinion_guy 
     , p_users.name as professor 
from opinions 
     join subjects on (opinions.subject_id = subjects.id) 
     join users as o_users on (o_users.id = opinions.opinion_guy_id) 
     join users as p_users on (p_users.id = subjects.professor_id) 

/

このクエリはほとんどあなたのスキーマに合っていませんが、いくつかの手がかりを与えるはずです。それ以外の場合は、テーブル構造、プライマリと外部キーなどを教えてください。

関連する問題