Вставка данных в таблицу на основе одних и тех же данных в текущей таблице

0

У меня есть таблица со структурой ниже:

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-запрос, который я могу использовать для вставки данных из текущей таблицы?

  • 0
    Откуда вы получаете значение course_id? Или вы назначаете это вручную.
Теги:
database
sql-server
sql-insert

1 ответ

1
Лучший ответ

Вам нужно в основном использовать запрос вставки с помощью select. Попробуйте следующий запрос:

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

Примечание. Убедитесь, что у вас нет ученика с курсом_id 101, уже существующим с помощью course_id 300, иначе этот запрос не будет работать.

  • 0
    Спасибо, это работает. Я думаю, что если идти дальше, то некоторые студенты уже остались, мы могли бы использовать подзапрос, где нет, верно?
  • 0
    Нет, это не сработает напрямую, вам придется самостоятельно объединиться, а затем продолжить
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню