我有3张桌子:
table1 :col1(id),col2(segment),col3(sector),col4(year)
映射表2 : col1(segment1)=>值与table1.col2相同, col2(segmnet2)=>值与table3.col2
相同table3 :col1(id),col2(segment),col3(sector),col4(year)
现在,我正在做FULL OUTER JOIN:
select t1.id, t3.id
from table1 t1
full outer join table3 t3 on
t1.year = t3.year and....
但我还需要加入COL2 - SEGMENT,使用映射表。 怎么做正确呢?
答案 0 :(得分:1)
如果我理解正确,您只需添加另一个完整的外部联接:
select t1.id, t3.id
from table1 t1
full outer join mapping t2 on( t1.col2= t2.col1)
full outer join table3 t3 on(t1.year = t3.year and t2.col2 = t3.col2
只是为了确保 - 无论是否匹配,完整的外部联接都会保持两个表中的所有记录都被连接起来!我添加了另一个完整的外部联接,但如果它不满,则将其更改为您需要的联接类型。