在此映射中总共调用了4个表:市场、成本、A、B、
Read_sourceTB_B-----FIL1------->---------JNR4 \
| | |
| Read_sourceTB_Market--\ | |
| Read_sourceTB_Cost------JNR1--\ | |
| Read_sourceTB_A-----------------JNR2 JNR5--->EXP... -->TGT
| | | |
| | | |
| | | |
---------------------FIL2->---------JNR3 /A连接BSystem_Code='University'失败,A连接B System_Code='Policy'失败的决策方法
--First joinning condition
A LEFT JOIN B
ON A.MEMBERSHIPID = B.MEMBERSHIPID
Where B.System_Code='University'如果失败,则执行
--Second joinning condition
A LEFT JOIN B ON
A.address = B.address and A.phonenumber = B.phonenumber
Where B.System_Code='Policy'发布于 2022-04-27 08:19:28
您需要基于两个不同的条件使用B(两次)连接A,然后将它们连接回一个管道,以便进行决策/如果-否则条件。另外,请注意,所有左联接实际上都是内部联接,因为在B.xxx='something'子句中使用的是where条件。
所以,考虑到上面的问题-
然后,
然后,
out_col1 = IIF( isnull(col_tableB_F1_jnr1),col_tableB_F2_jnr2, col_tableB_F1_jnr1)整个地图应该是这样的-
SQ_TABLEB --FIL1-> -- JNR1 \
| | |
| SQ_TABLEA --| JNR3-->EXP.... -->TGT
| | |
|--FIL2-> -- JNR2 /但我想你的要求可能是这样的-
A LEFT JOIN B
ON A.MEMBERSHIPID = B.MEMBERSHIPID AND B.System_Code='University'如果是,那么在inner join和JNR2中将JNR1更改为master outer join。
发布于 2022-04-26 16:31:45
两次阅读B数据源,如下所示:
Read_sourceTB_Market--\
Read_sourceTB_Cost------JNR1--\
Read_sourceTB_A-----------------JNR2-\
Read_sourceTB_B1-----FIL1---->--------JNR4--\
Read_sourceTB_B2-----FIL2---->---------------JNR5--->EXP... -->TGThttps://stackoverflow.com/questions/72000872
复制相似问题