У меня есть таблица со структурой ниже:
create table student_course(
student_id integer,
course_id integer,
primary key (student_id, course_id)
);
Вот мой прецедент: студенты, которые выбирают определенные курсы, должны взять еще один курс ассистента. Например, студент, который поступил на курс с course_id
из 101
должен пройти дополнительный курс с course_id
из 300
, потому что 101 так сложно, и они должны получить учебный курс 300 одновременно.
Мне нужно создать SQL-запрос, чтобы добавить дополнительные записи для студентов, которые берут предварительный курс в эту таблицу student_course
; в этом случае, добавляя новые строки для студентов, принимающих 101, чтобы взять 300 также.
Теперь я использую select * from students_course where course_id = 101
, а затем экспортирую эти данные, чтобы обновить учащихся, которые зарегистрированы в select * from students_course where course_id = 101
101 до 300. Наконец, я импортирую этих экспортированных студентов с 101 снова. Есть ли лучший SQL-запрос, который я могу использовать для вставки данных из текущей таблицы?
Вам нужно в основном использовать запрос вставки с помощью select. Попробуйте следующий запрос:
insert into student_course(student_id,courseId)
select student_id, 300
from student_course
where course_id = 101;
Примечание. Убедитесь, что у вас нет ученика с курсом_id 101, уже существующим с помощью course_id 300, иначе этот запрос не будет работать.