假设我有一个表STUDENT
与列包括ID
,name
,email
和advisorID
。我有第二个表ADVISOR
与字段包括ID
和name
。 STUDENT.AdvisorID
是一个外键。插入学生时,您必须有一个指向ADVISOR
的键。INSERT INTO ... SELECT ... FROM ...在哪里工作?
但是,从应用程序中插入学生时,只有名称为ADVISOR
。换句话说,您的字符串中包含特定学生的姓名和电子邮件,以及顾问的姓名,但不包含顾问ID。
不知何故,我不能让我的头缠着如何做到这一点。我知道这是一种常见的情况,我甚至在stackoverflow上发现了一个或两个类似的问题。我知道我们正在讨论INSERT INTO ... SELECT ... FROM .. WHERE。我假设WHERE子句是advisor.name ='anAdvisorName',但我正在努力解决一些插入的信息来自表格,而另一些则不是。 (关于这种陈述的讨论似乎集中于插入所有数据的实例来自第二个表格。这不是我所说的。)
p.s.为简单起见,请不要担心重复的条目,多个顾问具有相同的名称,等
这是有帮助的。我一直在想SELECT语句,在这种情况下,总是涉及到“选择”某些东西(来自另一个表)。我不知道可以直接在SELECT语句中包含字段值。它仍然有点违反直觉,但真的很高兴知道。谢谢。 –