2014-01-15 2 views
0

다음 두 개의 테이블을 내부 조인하기 위해 다음 쿼리를 사용하고 있습니다.내부 조인에서 반환하지 않는 레코드를 선택하십시오.

select a.* 
from AllUK a 
join AllCompanies b 
on replace(a.Address1 + a.Postcode,' ','') = replace(b.street + b.Postcode,' ','') 

내부 조인에서 반환하지 않는 나머지 레코드를 AllUK 테이블에서 반환하려고합니다.

답변

1

이 시도 ......

select a.* 
from AllUK a 
left join AllCompanies b 
on replace(a.Address1 + a.Postcode,' ','') = replace(b.street + b.Postcode,' ','') 
where replace(b.street + b.Postcode,' ','') is null 
+0

+1, 잘 ......... –

1

이쪽 EXCEPT 행동의 거의 정의는 다음과 같습니다

select a.* 
from AllUK a 

EXCEPT 

select a.* 
from AllUK a 
join AllCompanies b 
on replace(a.Address1 + a.Postcode,' ','') = replace(b.street + b.Postcode,' ','') 
+0

당신은 나를 때렸어. 내가 게시 할 것을 제외하고는 정확히 같습니다. –

0

나는 간단하게 INNOT IN 명령에 충실하고자 읽다.

Select a.* 
from AllUk a 
where a.ID not in (
select a.id 
from AllUK a 
join AllCompanies b 
on replace(a.Address1 + a.Postcode,' ','') = replace(b.street + b.Postcode,' ','')) 
관련 문제