2011-08-29 7 views
0

내 데이터베이스가 두 테이블
표 A는 두 개의 필드 (ID, numar)
표 B를 포함 포함 된 두 개의 필드 (numar) 행 폼 표 A를 제거하고 B 어디 A.numar하지하는 방법
존재 B.numar 및 B.numar 존재하지 않습니다 A.numar
큰 감사합니다
제거 필드 양식 mysql을

+1

테이블에서 행을 제거 하시겠습니까? – bpgergo

답변

3

어쩌면이?

id|numar id|numar 
-------- -------- 
1 | 01  1 | 02 
2 | 02  2 | 03 
3 | 03  3 | 04 
4 | 04  4 | 05 

그런 다음 첫 번째 문은 첫 번째 테이블에서 행 ID 1을 제거 할 것, 다음 두 번째 문은 두 번째 테이블에서 행 ID (4)를 제거하는 것입니다 : 테이블이이 데이터를했다 그래서 경우

DELETE FROM TableA WHERE Numar NOT IN (SELECT Numar FROM TableB) 
DELETE FROM TableB WHERE Numar NOT IN (SELECT Numar FROM TableA) 

.

+0

@Thoman : 어쩌면 하나의 테이블에 있고 다른 테이블에없는 인스턴스가있을 수는 없지만 대신 중복 인스턴스가 있습니까? 그것은 완전히 다른 문제입니다. – David

+0

SELECT * FROM TableA WHERE tableA.numar NOT IN (SELECT numar FROM tableB) MySQL은 빈 결과 집합을 반환했습니다. – Thoman

+0

@Thoman : 그것은'numA' 값이하는'TableA'에 레코드가 없음을 나타냅니다 'TableB'에 존재하지 않습니다. 따라서 귀하의 기준에 따라 제거 할 것이없는 것 같습니다. – David