나는 여러 가지 시도를했지만 항상 구문 오류가 발생합니다.한 테이블에서 MS Access의 다른 테이블에없는 행을 모두 얻으려면 어떻게해야합니까?
테이블 A와 테이블 B 두 가지 테이블이 있습니다. 둘 다 고유 ID로 con_number 필드를가집니다. tableA에없는 tableB의 모든 행을 선택하려고합니다.
누구든지이 쿼리를 MS Access에서와 같이 제공 할 수 있습니까?
저는이 경우 NOT IN을 사용하는 것이 비효율적이라는 것을 알고 있습니다. 그러면 더 좋은 방법이 있다면 좋을 것입니다.
감사합니다.
SELECT con_number
FROM TableB
WHERE con_number NOT IN (SELECT con_number FROM tableA);
실험 버전 (이 빨리 경우 단지 그것을 밖으로 시도, 모르는) :
SELECT B.con_number, MAX(A.con_number) AS check
FROM tableB B LEFT JOIN tableA A ON B.con_number = A.con_number
GROUP BY B.con_number
HAVING check IS NULL;
주 버전 (느리지 만 확실) IN
;-) +1 – Tomalak
나를 괴롭히다 ;-) 각 줄을 4 칸 들여 쓰기하여 문장의 가독성을 높일 수 있습니다 (강조 표시하고 코드 샘플 버튼을 누르면 – Smashery
-1), 그는 버전을 요청했습니다 "Not in"이 없다. –