私は3つのテーブルを持っています
students table
------------------------------------
id(PK, A_I) | student_name | nationality
teachers table
------------------------------------
id(PK, A_I) | teacher_name | email
classroom table
----------------------
id(PK, A_I) | date | teacher_id(FK to teachers.id) | student_id(FK to students.id)
教師の名前(david
たとえば)とstudent_id(たとえば)が与えられ、テーブルに基づいてテーブル7
に挿入するように要求された場合、次のようにします。teacher_id
classroom
id
teachers
insert into classroom (date, teacher_id, student_id)
select '2014-07-08', id, 7
from teachers
where teacher_name = 'david';
さて、学生のIDを直接与えられず、学生の名前だけを与えられたらどうなりますか?私は教師の名前「デビッド」と学生の名前「サム」を与えられたと仮定します。どうすれば入手できますteacher_id
からteachers
、テーブルともstudent_id
からstudents
テーブルとに両方を挿入しclassroom
、それぞれの名前に基づいてテーブル?