方案: 输入表1:需要比较表1的field 2的值与表2的field 3的值 例如: 从svc_lz.fn_abc;svc_lz.fn_cde中 Select ;因此表1的字段2值是 出现在" Select "之后,即svc_lz.fn_abc和svc_lz.fn_cde,因此我们需要 与表2的字段3连接示例:svc_lz.fn_abc和svc_lz.fn_cde.如果存在连接 然后提取分配给表2的字段4并将其放置在输出表字段3中.
输入表1:
field1 | field2 |
---|---|
a | select from svc_lz.fn_abc;svc_lz.fn_cde; |
b | select *From mfg_lz.fn_test,mfg_a.fn_test1 |
c | select *From mfg_j.fn_test2 |
d | select *From mfg_j.fn_test3;mfg_j.fn_test4; |
e | select *From mfg_j.fn_test5(100);mfg_j.fn_test6(1000) |
f | select *From mfg_j.fn_test5_abc(100);mfg_j.fn_test6_abc(1000) |
输入表2:
field3 | field4 |
---|---|
svc_lz.fn_abc | {test} |
svc_lz.fn_cde | {test1,test2} |
mfg_lz.fn_test | {test3} |
mfg_j.fn_test4 | {test5} |
mfg_j.fn_test5 | {} |
mfg_j.fn_test6 | {test7} |
输出:
field1 | field2 | field3 |
---|---|---|
a | select from | |
svc_lz.fn_abc;svc_lz.fn_cde; | test,test1,test2 | |
b | select *From mfg_lz.fn_test,mfg_a.fn_test1 | test3 |
c | select *From mfg_j.fn_test2 | NULL |
d | select *From mfg_j.fn_test3;mfg_j.fn_test4; | test5 |
e | select *From mfg_j.fn_test5(100);mfg_j.fn_test6(1000) | test7 |
f | select *From | |
mfg_j.fn_test5_abc(100);mfg_j.fn_test6_abc(1000) | NULL |
我搜索并判断需要执行字符串_split并在来自tbl1的字段2和 field3来自tbl2,但我不确定如何开始,我try 过使用CTE 功能,但我是SQL新手,所以很难找到起点.如果 任何人都可以帮忙.