Ho tre tavoli
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)
Se mi david
venissero dati il nome dell'insegnante ( per esempio) e student_id ( 7
per esempio) e mi fosse chiesto di inserire teacher_id
la classroom
tabella in base id
alla teachers
tabella, farei:
insert into classroom (date, teacher_id, student_id)
select '2014-07-08', id, 7
from teachers
where teacher_name = 'david';
Ora, cosa succede se non mi viene fornito l'ID dello studente direttamente e mi viene dato solo il nome dello studente? Supponiamo che mi sia stato dato il nome dell'insegnante "David" e il nome dello studente "Sam". Come ottengo il teacher_id
da teachers
tabella e anche student_id
dalla students
tabella e inserirli entrambi nella classroom
tabella in base ai rispettivi nomi?