2017-01-24 1 views
-4

私も使用して終了していないとして、この質問のための必要はありませんから、三つのフィールドに参加する方法、それ三つの異なるtables.MySQL

+2

あなたがやりなさい質問をしました。投稿したコードは明らかに間違っていますが。エラーに関する質問をする場合は、エラーの内容を人に伝える必要があります。 –

+1

"3つのテーブル"。 。 。 'FROM'には4つの参照が2つあります。 –

答えて

0

:私は読書をお勧めします

SELECT students.student_id, entries.exam_date, students.first_name, subjects.subject_name, 
FROM students 
INNER JOIN entries ON students.student_id = entries.student_id, 
INNER JOIN subjects ON students.student_id = subjects.student_id; 
+0

完全なエラーメッセージを追加できますか? – Veve

+0

あなたのお手伝いをするには、テーブルの説明を含める必要があります。 – Veve

+0

@Josh "description":各テーブルに含まれるフィールド。あなたのデータベースをセットアップするために使用される 'CREATE TABLE'クエリがある場合は、それらをあなたの質問に追加してください。そうでない場合は、テーブルを最も正確に記述してください。 – Veve

0

MySQLは言っています

ERROR 1052 (23000): Column 'student_id' in on clause is ambiguous 
の線に沿って、あなたに何か

これはエラーメッセージです。エラーを修正する方法についているときは、常に質問にエラーを投稿する必要があります。

私が問題は、あなたがstudent_id = student_idにテーブルを指定しておらず、複数のテーブルにstudent_idという列があることだと思います。また、何度も参加する必要はありません。必要に応じて何度でも列を使用するためには、テーブルを一度結合する必要があります。

だから、の線に沿ってコードを必要とする:

SELECT students.student_id, entries.exam_date, students.first_name, subjects.subject_name, 
FROM students 
INNER JOIN entries ON entries.student_id=students.student_id 

それはプログラミング言語を学ぶことであるとして、良い質問をすることを学ぶことなどが重要です。あなたがあいまいな条項を避けるために、あなたがjoigningている列の接頭辞があり、あなたがあなたのテーブルにsubjectsテーブルを追加する必要がhttp://www.catb.org/~esr/faqs/smart-questions.html

関連する問題