4个表加入SQL

时间:2016-11-30 15:43:12

标签: sql oracle

我有一些preps / views在我的最终select子句中以下列方式使用:

select .......

from gr
full outer join go
on gr.ART_CONC=go.ART_CONC and 
gr.pt=go.pt and 
gr.p_act=go.p_act and 
gr.month_id=go.month_id and 
gr.art_desc=go.art_desc

现在我想在我的select子句中包含以下内容,但我很混淆语法和连接将如何实现

sim ab join prep1

on ab.fp_num3 = article_num AND 
substr(ab.fp_num2,-2,2) = substr(pt10,-2,2)


where fp_data_kind='SEC PFE_ND_GO'
and fp_data_valid_from between to_date(:par_date_from, 'YYYY.MM.DD HH24:MI:SS') and to_date(:par_date_to, 'YYYY.MM.DD HH24:MI:SS')

注意:sim,prep1,gr和go是已存在的4个表/ preps。 在此先感谢!

1 个答案:

答案 0 :(得分:0)

在这里,table1 / 2/3/4是你的桌子。 join_val's是您要加入的值。我没有完全理解你的问题或你想要什么,所以这种方式可以做4连接。

select t1.something1
            ,t1.something2
            ,t1.something3
            ,t2.something1
            ,t2.something2
            ,t2.something3
            ,t3.something1
            ,t3.something2
            ,t3.something3
            ,t4.something1
            ,t4.something2
            ,t4.something3
from table1 t1
full outer join table2 t2
    on t1.join_val = t2.join_val
    ......
full outer join table3 t3
    on t1.join_val = t3.join_val
    ......
full outer join table4 t4
    on t.join_val = t3.join_val