根据当前表中的相同数据将数据插入表中

时间:2018-07-27 04:35:12

标签: mysql sql sql-server database sql-insert

我有一张桌子,其结构如下:

create table student_course(
student_id integer,
course_id integer,
primary key (student_id, course_id)
);

这是我的用例:选择某些课程的学生需要参加另一门辅助课程。例如,以course_id的{​​{1}}入学的学生,必须以101的{​​{1}}参加另一门课程,因为101太难了,他们应该得到同时有300个教程课程。

我需要创建一个SQL查询,以便将参加该先修课程的学生的其他条目添加到此course_id表中;在这种情况下,为学生人数为101和300的学生添加新行。

我现在正在使用300,然后导出此数据以将注册101至300的学生更新。最后,我再次将101导入这些导出的学生。有没有更好的SQL查询可用来从当前表中插入数据?

1 个答案:

答案 0 :(得分:1)

您基本上需要在select中使用插入查询。请尝试以下查询:

insert into student_course(student_id,courseId)
    select student_id, 300
    from student_course
    where course_id = 101;

注意:请确保您没有任何具有Course_ID 101的学生,而Course_ID 300已经存在,否则此查询将不起作用。