2017-02-28 7 views
0

これはなぜ機能していないのか理解しようとしています。私は各メンバーの名前とクラスのトレーナーの名前と一緒に各メンバーが登録されているクラスを選択しようとしています。登録されているクラスのSQLリスティングメンバー

これは私が分に持っているものです:私はまだSQLを勉強として

SELECT 
    firstName, lastName, className, trainerName 
FROM 
    member, _class, trainer, enrolment 
WHERE 
    enrolment.memberID = member.memberID 
    AND enrolment.classID = _class.classID; 

すべてのヘルプやヒントがいただければ幸いです。

追加情報:

  • enrolmentテーブルはentrolmentID、MEMBERIDとのclassID
  • trainer表はtrainerIDとtrainerName
  • member表はMEMBERID、firstNameの、lastNameの、年齢、trainerID
  • を持つ列を持つ列がありますclassテーブルにはclassID、className、_dayおよびtrainerIDがあります
+1

を試してみてください 'JOIN'sの代わりに、複数を使用してください'FROM'節のテーブル –

+0

には、左結合でリンクされた追加テーブルを作成する必要があります。 –

+0

には、member.trainerID = trainer.trainerID –

答えて

1

JOIN文の有効な構文は次のとおりです。

SELECT FIELD1 
    ,...FIELDN 
FROM TABLE1 T1 
INNER JOIN TABLE2 T2 ON T1.FIELDX = T2.FIELDY 

だからあなたの場合は、使用:

SELECT firstName 
    ,lastName 
    ,className 
    ,trainerName 
FROM member 
INNER JOIN enrolment ON enrolment.memberID = member.memberID 
INNER JOIN _class ON enrolment.classID = _class.classID 
INNER JOIN trainer ON trainer.trainerID = member.trainerID 
+0

助けをありがとう –

+0

あなたはそれを試しましたか?それはあなたが必要とするものですか? – apomene

+0

ありがとうございますありがとうございます。 –

0

この

SELECT firstname, lastname, classname, trainerName 
FROM member 
INNER JOIN enrollment 
ON enrolment.memberID = member.memberID 
INNER JOIN _class 
ON enrollment.classID = class.classID 
INNER JOIN trainer 
ON trainer.trainerID = member.trainerID 
関連する問題