MSSQL을 지난 주 처음 시작했습니다.
비개발자 출신이다보니 고수님들의 많은 도움을 부탁드리겠습니다.
두 개의 테이블을 비교해서 새로운 칼럼을 생성할 때
중복되는 Row가 지속생성되어 문의드리는데요.
하고자 하는 것은 A 테이블 '총판명' 칼럼 내용이 C 테이블 '총판명' 칼럼과 일치하면
별도 칼럼에 A 테이블의 총판명을 나타내고 그렇지 않은 Row는 NULL 값으로 두고 싶습니다
단 아래와 같이 쿼리를 작성할 경우 기존 A 테이블이 6만5천 줄인데 반해 10만 줄 이상이 추출되어
중복으로 결과값이 추출된다고 판단하는데요. (A 테이블의 매장ID라는 칼럼으로 확인 가능)
별도 distinct 함수도 먹지 않는 것 같아 도움을 요청 드립니다.
/****************************************************************************************
select case when b.[등록 SHOPID] is not null then '경기도' else 'FC/누락' end as '별도DB'
,case when c.총판명 is not null then (select c.총판명) end as '조건2'
,*
from storeinfo_all A
left
join FULLDB B
on a.매장ID = b.[등록 SHOPID]
left
join our_agency C
on a.총판명 = c.총판명
******************************************************************************************/
Comment 1
-
sqlmaster
2021.09.29 10:56
FULLDB B 와의 join 이 왜 left join 인가요? inner join 변경해 보세요~