基本的に私がやりたいことは、2つのテーブルでINNER JOINを使用することですが、テーブルAから特定の行とテーブルBから対応する行のみを選択しますか?
テーブル A は「コース」と呼ばれ、列「course_title」の下で「Calculus」、「British Literature I」、および「Studio Art」と呼ばれるエントリと、それに対応する「department_id」を選択したいと考えています。列「department_id」と「department_name」を持つ「departments」と呼ばれる 2 番目のテーブルとの INNER JOIN を作成するための参照として「department_id」を使用します。
私がこれを行うと考えた唯一の方法は、UNIONを使用して3つの特定のコースを選択することですが、INNER JOINをそれで動作させる方法がわかりませんか? いくつかの異なるタイプの構文を試しましたが、エラーが発生し続けます。これが私の試みの1つです:
(SELECT course.course_title, cours' at line 1
mysql> (SELECT course_title, department_id FROM course WHERE course_title = 'Calculus')
-> UNION
-> (SELECT course_title, department_id FROM course WHERE course_title = 'British Literature I')
-> UNION
-> (SELECT course_title, department_id FROM course WHERE course_title = 'Studio Art I')
-> UNION
-> (SELECT department_name, department_id FROM departments)
-> FROM departments INNER JOIN course ON departments.department_id = course.department_id;
これが私の試みのもう1つです:
(SELECT course.course_title, course.department_id, departments.department_id, departments.department_name WHERE course.course_title = 'Calculus')
-> UNION
-> (SELECT course.course_title, course.department_id, departments.department_id, departments.department_name WHERE course.course_title = 'British Literature I')
-> UNION
-> (SELECT course.course_title, course.department_id, departments.department_id, departments.department_name WHERE course.course_title = 'Studio Art I')
-> FROM departments INNER JOIN course ON departments.department_id = course.department_id;
これが機能するかどうかについてのアイデアはありますか? その場合、構文を修正するにはどうすればよいですか? そうでない場合、別の方法は何ですか?
ありがとうございました!!