使用另一个表中的列和新值“插入”语法

时间:2013-03-04 03:53:38

标签: mysql

我有一个student表和一个takes表。 takes表适用于学生已经参加或正在参加的课程,并且有专栏:

ID, course_id, sec_id, semester, year, grade

我想使用ID中的student,但是对于其他5列使用:

(CS-001, 1, Fall, 2009, NULL)

我知道如何使用insert into takes select, from, where,还有insert into takes values()但我没有看到任何混合来自另一个表的数据以及我投入的新数据。我们正在做的实验室应该是使用phpMyAdmin在MySQL查询中完成所有操作。

我很难解释事情,所以如果这没有意义,我很抱歉。谢谢你的帮助。

以下是我想要的查询类型:

insert into takes(ID, course_id, sec_id, semester, year, grade)
values(*IDs from student table*, CS-001, 1, Fall, 2009, NULL);

1 个答案:

答案 0 :(得分:6)

这样的事情应该会在takes表中填入student表中的数据,以及其他列所需的静态值:

INSERT INTO takes (ID, course_id, sec_id, semester, year, grade)
SELECT      ID, 'CS-001', 1, 'Fall', 2009, NULL
FROM        student
WHERE       dept_name = 'Comp. Sci.'; 

请查看this question以获取更多帮助。