2014-04-16 1 views
0

Merge_Codes & 요소라는 두 개의 테이블 (아래 참조)이 있습니다. 나는 요인 테이블에서 별개의 국가를 가져 와서 이것을 Merge_Codes 테이블에 조인하고이 지역을 반환하는 쿼리를 작성하려고합니다.하나의 쿼리에서 내부 결합 및 고유 항목 사용

맨 아래의 결과 표를 보면 무슨 뜻인지 알 수 있습니다. 하나의 쿼리에서이 작업을 수행하려고하지만 아래의 SQL에서 볼 수 있듯이 솔루션 근처의 위치를 ​​알 수 없습니다.

SELECT * FROM Merge_Codes 
INNER JOIN ON 
(SELECT DISTINCT Country FROM Factors) 

Merge_Codes 표

Region  Country 
EU   Germany 
EU   France 
EU   Italy 
Asia  Japan 
Asia  Hong Kong 
NA   Canada 
NA   USA 
SA   Brazil 
SA   Peru 
SA   Chile 

요소 도표

Factor  Country 
ABC  Germany  
ABC  Germany  
ABC  Japan   
ABC  USA   
ABC  USA   
ABC  Hong Kong  

결과

Country Region 
Germany EU 
Japan  Asia 
USA  NA 
Hong Kong Asia 

답변

3
select mc.* 
from Merge_Codes mc 
join (select distinct Country FROM Factors) f 
    on mc.Country = f.Country 
2
select 
    MC.Country, 
    MC.Region 
from 
    (SELECT DISTINCT Country FROM Factors) DC 
    INNER JOIN Merge_Codes MC ON MC.Country = DC.Country