2012-05-25 3 views
1

1 대 1의 관계를 만들 수 있도록 테이블의 데이터를 정리하려고합니다. 기본 키가있는 테이블에는 1 대 1의 관계를 공유하는 테이블보다 많은 레코드가 있습니다. 이 문제를 해결하기 위해 표 2에서 누락 된 ID를 표 2에 삽입하려고합니다.SQL 삽입 INTO - 존재하지 않는 ID 추가

INSERT INTO medical_Surveillance(dbo.Medical_surveillance.EmpID) 
SELECT dbo.EmployeeInformation.EmpID 
FROM EmployeeInformation 
WHERE not exists (select dbo.medical_Surveillance.EmpID from medical_Surveillance 
WHERE dbo.medical_Surveillance.EmpID = dbo.EmployeeInformation.EmpID) 

이 SQL 문에는 어떤 문제점이 있습니까? run했을 때 dbo.Medical_surveillance.EmpID 이외의 열에 값을 삽입하려고합니다.

+0

해결되었지만 SQL 문에 문제가 없습니다. null이 아니지만 기본값이없는 다른 열이 있습니다. 명령.이 실행될 때 해당 C 럼에 널 값을 삽입하려고합니다. 기본값을 추가하여 수정. – talbright

답변

1

당신은 왼쪽과 같은 일을 할 수있는 가입 : 해결

INSERT INTO medical_Surveillance(EmpID) 
SELECT EmployeeInformation.EmpID 
FROM EmployeeInformation 
    LEFT JOIN medical_surveillance ON EmployeeInformation.EmpID = medical_surveillance.EmpID 
WHERE medical_surveillance.EmpID IS NULL 
0
INSERT INTO medical_Surveillance(EmpID) 
SELECT ei.EmpID 
FROM EmployeeInformation as ei 
WHERE ei.EmpID not in (select ms.EmpID from medical_Surveillance as ms) 
1

는 아무것도 SQL 문 문제 없었다. null이 아니지만 기본값이없는 다른 열이 있습니다. 명령.이 실행될 때 해당 C 럼에 널 값을 삽입하려고합니다. 기본값을 추가하여 수정.

관련 문제