我需要在nvl类型fn上使用python连接两个表,因为我们有一个表,根据零件类型,我们只输入前7个字符。
到目前为止,我还没有找到在python中执行此操作的简单方法。
有功能可以做到这一点,还是实现它的另一种简便方法?
提前谢谢
我加入了part_number,删除了其他表的字段为NaN的位置,然后作为新表加入子字符串,然后将这些表附加在一起。并以错误的行数结束。
left join on nvl(nvl(thistable.part_number, substr(thistable.part_number, 1, 7)),'not in defn table') = part_number.othertable
输出可能是这样的:
thistable.part_number othertable.description
abc123 real part
def456 another real part
1234567-02 part stored as 1234567 in othertable
koue49c not in defn table
答案 0 :(得分:1)
我认为您想要coalesce()
:
on coalesce(thistable.part_number, substr(thistable.part_number, 1, 7), 'not in defn table') = part_number.othertable
coalesce()
具有多个参数,因此您无需嵌套函数调用。