Ich habe drei Tische
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)
Wenn mir der Name des Lehrers ( davidzum Beispiel) und die student_id ( 7zum Beispiel) gegeben und ich gebeten würde, die teacher_idin die classroomTabelle einzufügen, basierend auf der idin der teachersTabelle, würde ich Folgendes tun:
insert into classroom (date, teacher_id, student_id)
select '2014-07-08', id, 7
from teachers
where teacher_name = 'david';
Was wäre, wenn ich nicht direkt den Studentenausweis und nur den Namen des Studenten erhalten hätte? Angenommen, ich habe den Lehrernamen 'david' und den Schülernamen 'sam' erhalten. Wie bekomme ich die teacher_idfrom- teachersTabelle und auch student_iddie studentstable und füge beide classroomanhand ihrer jeweiligen Namen in die table ein?