0
다른 데이터 세트에없는 하나의 데이터 세트의 레코드를 표시하고 싶습니다. 나는 작은 데이터 세트에없는 첫 번째 (큰) 데이터 세트의 레코드를 찾을 싶습니다테이블에서 레코드 추출
select distinct facil_identifier, facil_addr_line1,
trim(facil_city) as facil_city, facil_zip
from xx.tb1 f
where facil_identifier is not null
: 여기
더 큰 데이터 세트에 대한 코드입니다. 여기 는 작은 데이터 세트에 대한 코드입니다 :select distinct facil_identifier, facil_addr_line1,
facil_zip
from xx.tb1 f
where facil_identifier is not null
이 내 시도 :
select distinct facil_identifier, facil_addr_line1,
facil_zip
from xx.tb1 f
where facil_identifier is not null
and facil_identifier not in
(select facil_identifier
from
(select distinct facil_identifier, facil_addr_line1,
trim(facil_city) as facil_city, facil_zip
from xx.tb1 f2
where facil_identifier is not null) as city
where city.facil_identifier = f.facil_identifier)
order by facil_addr_line1
이 코드는 엄청난 비용을 가지고있다. 각 세트에는 3000 개 미만의 레코드가 있습니다.
는 왼쪽이 더 큰 집합의 모든 레코드의 결과에 가입이 그것을해야 (또는 적어도 당신이 가까이). – swhit
@ user1850180 그 이유는 where 절에 "f.facil_identifier is null"이 있기 때문입니다. 큰 세트의 모든 레코드와 함께 작은 세트의 레코드를 결합합니다. where 절의 해당 부분은 더 작은 집합에서 해당 레코드가있는 모든 레코드를 필터링하도록 지시합니다. – Becuzz
전체 집합 또는 0 개의 레코드를 반환합니다. – swhit