使用映射连接表 table
Tables join using mapping table
我有 3 个 table:
table1: col1(id), col2(segment), col3(sector), col4(year)
映射table2:
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,使用映射 table 加入。
如何正确去做?
如果我没理解错的话,你只需要添加另一个完整的外连接:
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
只是为了确保 - 完全外部联接保留两个表中被联接的所有记录,无论是否匹配!我添加了另一个完整的外部联接,但如果它不完整,请将其更改为您需要的联接类型。
我有 3 个 table:
table1: col1(id), col2(segment), col3(sector), col4(year)
映射table2: 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,使用映射 table 加入。 如何正确去做?
如果我没理解错的话,你只需要添加另一个完整的外连接:
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
只是为了确保 - 完全外部联接保留两个表中被联接的所有记录,无论是否匹配!我添加了另一个完整的外部联接,但如果它不完整,请将其更改为您需要的联接类型。