Я написал заявку на жительство в колледже. В одной из таблиц (комнат) у меня есть список всех комнат и их текущее/максимальное размещение. Теперь я добавил новый столбец с именем "семестр" и установил все существующие строки, чтобы иметь значение семестра "fall". Теперь я хочу скопировать и вставить все эти строки в таблицу, но изменить значение семестра на "spring". Результат должен быть в два раза больше строк, чем я начал - половина с падением в семестре и половина с падением. Хотите узнать, как лучше всего это сделать?
Копировать и вставлять строки в одну и ту же таблицу SQL с разными значениями
Ответ 1
INSERT INTO rooms
(roomname, current_occupancy, max_occupancy, semester)
SELECT roomname, current_occupancy, max_occupancy,'spring'
FROM rooms
WHERE [semester]='fall'
(при условии, что имена для столбцов вашей комнаты и места размещения)
Ответ 2
Используйте временную таблицу, чтобы сделать ее простой, независимо от того, сколько столбцов задействовано;
SELECT * INTO #ROOMS FROM ROOMS;
UPDATE #ROOMS SET SEMESTER='spring';
INSERT INTO ROOMS SELECT * FROM #ROOMS;
Ответ 3
Insert Into Rooms
Select col1, col2, col3, 'Spring' as Semester -- select each column in order except 'Semester', pass it in literally as 'Spring'
From rooms where
Semester = 'Fall'
Ответ 4
Хорошо, если вы просто пытаетесь сделать это внутри Sql Server Management Studio, вы можете скопировать таблицу, запустить команду "Обновить" и установить семестр в spring в клонированной таблице, а затем использовать мастер для добавления данных из клонированную таблицу к существующей таблице.
Если вы знаете язык программирования, вы можете извлечь все данные, изменить семестр, а затем вставить данные в существующую таблицу.
Примечание. Другие ответы - намного лучший способ достичь этого.