Oracle SQL-根据其他两列获取特定列

时间:2016-07-18 16:44:48

标签: sql oracle10g

         Table 1    
I_ID    S_id    E_id
1000    1234    123
1002    1235    12
1002    1235    13
1003    3456    234
1004    1256    236
1004    1257    236
1005    1239    236

    Table2  
Desc    SS_id   EE_id
aaaa    1234    125
bbbb    1235    13
cccc    2222    234
hhhh    4444    236
jjjj    1239    236

1.首先,我需要将表1的S_id与表2中的SS_id进行匹配,然后选择相应的Desc

2.如果第1点的S_id计数大于1,则将表1的S_id,E_ID与表2的SS_id,EE_ID匹配,并选择相应的Desc

3.当表1的SS_ID中不存在表1的S_ID时,则将表1的E_id与表2的EE_id匹配,并选择相应的描述

4.如果第3点的E_id计数大于1,则将表1的S_id,E_ID与表2的SS_id,EE_ID匹配,并选择相应的Desc

5.Else populate null

   Output   
I_ID    Desc
1000    aaaa
1002    bbbb
1003    cccc
1004    null
1005    jjjj
你可以帮我写SQl查询吗

1 个答案:

答案 0 :(得分:0)

查看您的结果似乎只需要

select table1.I_ID 
INNER JOIN table2 on table1.S_id = table2.SS_id

(否则尝试发布更合适的示例)