문제

15000 개의 항목에 가까운 테이블 A가 있습니다. 표 A가있는 공통 필드가있는 7900 개의 항목이있는 두 번째 표 B가 있습니다.

표 B에도 나타나는 것들을 제외하고 테이블 A에서 세 번째 임시 테이블로 추출해야합니다. 내가 가장 가까운 것은 이것입니다.

INSERT INTO tableC
SELECT * 
FROM tableA
    INNER JOIN tableB
        ON tableA.field IS NOT tableB.field

이 SQL은 TableB의 모든 것을 TableB에있는 항목으로 선택합니다.

내가 잘못 될 아이디어가 있습니까?

도움이 되었습니까?

해결책

이걸 시도하면 어떨까요?

INSERT INTO tableC 
SELECT * 
FROM tableA 
WHERE tableA.field NOT IN (SELECT tableB.field FROM tableB)

또는 대체 구문을 시도 할 수 있습니다

INSERT INTO tableC 
SELECT * 
FROM tableA 
WHERE NOT EXISTS (SELECT * FROM tableB WHERE tableB.field = tableA.field)
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top