e、 如果我的数据表是
ID,ColumnA, ColumnB, ColumnC
--------------------------------
1,ABC,111,DEF
2,111,ABC,DEF
3,111,111,DEF
我还有一个Map表
Codekey, Result
---------------------------
ABC,OK1
DEF,OK2
我要实现的是将表left join数据表与columna、columnb和columnc同时Map。
如果columna可以左联接Map表的结果,那么就服从columna
否则,结果以B列为准
如果columna和columnb没有离开联接Map表结果,则服从columnc。
所以左连接优先级是columna>columnb>columnc
下面是我想要的结果:
ID,ColumnA, ColumnB, ColumnC,Result
-----------------------------------
1,ABC,111,DEF,OK1
2,111,ABC,DEF,OK1
3,111,111,DEF,OK2
你知道吗?我试着寻找老问题,但似乎没有类似的情况。谢谢!:)
肯
2条答案
按热度按时间hfyxw5xn1#
你可以用
CASE WHEN
有条件的。尝试上面的代码,这将帮助你。
ikfrs5lh2#
使用nz可能更简单: