我有一张桌子,其结构如下:
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查询可用来从当前表中插入数据?
答案 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已经存在,否则此查询将不起作用。