에 영향을 미치는 존재하지 위치를 선택 : 영향삽입 0 행
INSERT INTO table1(
col1, col2, col3)
SELECT distinct
col1, col2, getDate()
FROM table2 WHERE NOT EXISTS(
SELECT 1 FROM table1, table2
WHERE ((table1.col1 = table2.col1) or (table1.col1 is null and table2.col1 is null))
AND ((table1.col2 = table2.col2) or (table1.col2 is null and table2.col2 is null)))
하지만 쿼리를 실행할 때, 그것은 보여줍니다 (0 행 (들)).
NOT EXISTS 문 내의 SELECT 문은 삽입하고 싶지 않은 행의 정확한 수를 반환합니다. WHERE NOT EXISTS 문없이 테이블에 삽입하려고하면 모든 것이 삽입됩니다. table1에 아직없는 행만 삽입하려고합니다.
하십시오 [편집] table1'와'table2''일부 샘플 데이터, 당신은 삽입 할 것으로 예상 table2''의 행을 제공하기 위해 귀하의 질문. (당신의'NOT EXISTS' 질의는 끔찍하지만, 사용하기위한 샘플 데이터가 없으면 그것을 향상시키는 특별한 방법을 제안하기는 어렵습니다.) –
'Exists'가'TableX에서 Select * (1 선택)' – bummi