2012-03-12 1 views
11

대학에 거주 용 주택 신청서를 작성했습니다. 테이블 (객실) 중 하나에는 모든 객실 목록과 현재/최대 인원이 있습니다. 이제 "semester"라는 새 열을 추가하고 기존 행 모두에 "fall"이라는 학기 값을 설정했습니다. 이제이 행을 모두 복사하여 표에 붙여 넣기를 원하지만 학기 값을 "봄"으로 변경합니다. 결과는 내가 시작한 행의 두 배가되어야합니다. 절반은 학기의 가을이고 나머지 절반은 가을입니다. 이 작업을 수행하는 가장 좋은 방법은 무엇인지 궁금하십니까? 당신은 당신이 테이블을 복사 업데이트 명령을 실행할 수 SQL Server 관리 Studio 내에서이 작업을 수행하려고하고 있다면다른 값을 사용하여 동일한 SQL 테이블에 행 복사 및 붙여 넣기

답변

20
INSERT INTO rooms 
(roomname, current_occupancy, max_occupancy, semester) 
SELECT roomname, current_occupancy, max_occupancy,'spring' 
FROM rooms 
WHERE [semester]='fall' 

4
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' 
1

(객실 및 점유 열의 이름을 가정) 복제 된 테이블에서 학기를 봄으로 설정 한 다음 마법사를 사용하여 복제 된 테이블의 데이터를 기존 테이블에 추가합니다.

프로그래밍 언어를 알고 있으면 모든 데이터를 가져올 수 있으므로 학기를 수정 한 다음 데이터를 기존 테이블에 삽입하십시오.

참고 : 다른 답변은이를 달성하는 훨씬 더 좋은 방법입니다.

5

얼마나 많은 열이 포함되어 있어도 임시 테이블을 사용하면 간단하게 만들 수 있습니다.

SELECT * INTO #ROOMS FROM ROOMS; 
UPDATE #ROOMS SET SEMESTER='spring'; 
INSERT INTO ROOMS SELECT * FROM #ROOMS; 
관련 문제